• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 20:48
CEST 02:48
KST 09:48
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Maestros of the Game: Week 1/Play-in Preview12[ASL20] Ro24 Preview Pt2: Take-Off7[ASL20] Ro24 Preview Pt1: Runway132v2 & SC: Evo Complete: Weekend Double Feature4Team Liquid Map Contest #21 - Presented by Monster Energy13
Community News
LiuLi Cup - September 2025 Tournaments2Weekly Cups (August 25-31): Clem's Last Straw?39Weekly Cups (Aug 18-24): herO dethrones MaxPax6Maestros of The Game—$20k event w/ live finals in Paris53Weekly Cups (Aug 11-17): MaxPax triples again!15
StarCraft 2
General
Production Quality - Maestros of the Game Vs RSL 2 #1: Maru - Greatest Players of All Time Geoff 'iNcontroL' Robinson has passed away Heaven's Balance Suggestions (roast me) Maestros of the Game: Week 1/Play-in Preview
Tourneys
RSL: Revival, a new crowdfunded tournament series Chzzk MurlocKing SC1 vs SC2 Cup Sea Duckling Open (Global, Bronze-Diamond) Maestros of The Game—$20k event w/ live finals in Paris LiuLi Cup - September 2025 Tournaments
Strategy
Custom Maps
External Content
Mutation # 489 Bannable Offense Mutation # 488 What Goes Around Mutation # 487 Think Fast Mutation # 486 Watch the Skies
Brood War
General
The Korean Terminology Thread Pros React To: herO's Baffling Game ASL20 General Discussion BGH Auto Balance -> http://bghmmr.eu/ BW General Discussion
Tourneys
[IPSL] ISPL Season 1 Winter Qualis and Info! [Megathread] Daily Proleagues Is there English video for group selection for ASL Small VOD Thread 2.0
Strategy
Simple Questions, Simple Answers Muta micro map competition Fighting Spirit mining rates [G] Mineral Boosting
Other Games
General Games
Stormgate/Frost Giant Megathread General RTS Discussion Thread Nintendo Switch Thread Path of Exile Warcraft III: The Frozen Throne
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
US Politics Mega-thread The Games Industry And ATVI Russo-Ukrainian War Thread Canadian Politics Mega-thread European Politico-economics QA Mega-thread
Fan Clubs
The Happy Fan Club!
Media & Entertainment
[Manga] One Piece Anime Discussion Thread Movie Discussion! [\m/] Heavy Metal Thread
Sports
MLB/Baseball 2023 2024 - 2026 Football Thread Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread High temperatures on bridge(s)
TL Community
The Automated Ban List TeamLiquid Team Shirt On Sale
Blogs
Collective Intelligence: Tea…
TrAiDoS
A very expensive lesson on ma…
Garnet
hello world
radishsoup
Lemme tell you a thing o…
JoinTheRain
RTS Design in Hypercoven
a11
Evil Gacha Games and the…
ffswowsucks
INDEPENDIENTE LA CTM
XenOsky
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1824 users

The Big Programming Thread - Page 234

Forum Index > General Forum
Post a Reply
Prev 1 232 233 234 235 236 1031 Next
Thread Rules
1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution.
2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20)
3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible.
4. Use [code] tags to format code blocks.
SgtCoDFish
Profile Blog Joined July 2010
United Kingdom1520 Posts
January 28 2013 07:06 GMT
#4661
On January 28 2013 14:30 HeavenS wrote:
+ Show Spoiler +
Hey guys this thread seems very very informative. I seem to have gotten late to the party, wow 233 pages! Anyways im kinda having a bit of an issue. You see, i was a civil engineering major, however as of lately ive really lost interest in it. I've found that as i learn more and more about what the daily job of a civil engineer is, it interests me less and less. This kinda sucks because it was really all i had thought about studying, however im pretty much about 90% sure that im going to switch my major now rather than finish it only to be bored of it! Seeing as how i like computers so much, and i love visiting the xda-dev website to read up on topics and it always amazes me how the devs there accomplish things, i've thought that maybe software engineering would be a good major to switch to. I think it might offer me that space to be creative and i could put the skills learned to making my own programs in my spare time and who knows maybe even an app or something.

I've also read that job prospects are very good and you can be employed in a great variety of places. The major i was eyeing is Computer Science, with a software development track (as is stated by my university). Switching to this major would allow me to make use of the math that i've learned thus far and i wouldn't have to start from zero because of the overlapping classes up to a certain point. However, i have never EVER done any programming whatsoever and honestly don't even know where to start. So here's my question to you guys. I have four months of free time until my semester at the uni starts and i want to put it to good use. I want to dip my feet into programming so when i start Uni i wont be completely clueless. I THINK the first programming course at the Uni is Java. That being said, what should i devote these next four months to? I obviously read the op but its still not clear to me which language i should devote to first? Should i start with java since i'll be learning java first course anyways? Or should i do c++? IDK! please give me some advice!


The first thing you must learn is very central to programming discussions:

There are a lot of people who hate certain languages, and they will appear constantly on the internet disparaging X language because of Y. It's in fashion at the moment for people to shit on Java, and you'll see a LOT of people complaining about it and posting snippets of bad code and saying "ha look how bad java is!" These people exist for every language.

The fact of the matter is, just as Da Vinci would've been a great artist with a paintbrush, a pencil or whatever, a good programmer will be good with any language that's suitable for the job. Part of being a good programmer is knowing what's suitable for the job. For learning programming, it really won't matter. That said, you have good and bad choices for starting off.

Java is an OO language, which means object-oriented. It is built around the programmer defining data types (classes) and access to these data types (methods). C++ also has classes and can also be an OO language. There are others too, C# being notable. Other languages are "functional" and require a different way of thinking about solving a problem. Obviously, if you're going to be doing Java at Uni, you'll benefit most from starting with an OO language so you have the mindset right. Programming with OO is all about good structure and design, and planning ahead so you have a sensible structure.

Other than recommending you start with an OO language since you'll be studying java, it really doesn't matter what you pick as long as (and this is important) you learn in the right way. Instead of just taking it for granted that a piece of code works, you need to learn why the programmer did it that way, and what the benefits are.

C++ is an immensely complex language with a lot of shit that can cause serious problems if you do it wrong. There are a lot of little rules and tricks and things you need to learn to avoid very nasty bugs that can be a real pain to find and fix. But its complexity stems from a philosophy of giving total control to the programmer. As such, if a computer can be made to do something, chances are you can program it in C++ (or C, but C doesn't really have OO so learning C++ might be better).

Java is based heavily on C++ but removes some of of the really complex stuff, taking a little control from the user to make life easier. In C++ when you get a piece of memory, you have to remember to delete its contents too or it'll just kinda stay there (this is called a memory leak, and leads to inefficiency and can lead to crashes if you leak a lot). In Java, the environment in which you run programs handles the deletion for you (this is called GC, or garbage collection) which has positives (much lesser chance of leaks) and negatives (it can be difficult to control this, leading to "GC lag" when garbage is collected at a performance intensive time). There are many other differences.

If you start with C++, you're more likely to pick up on how a computer works in detail. Java/other languages place a cushion between you and the computer so you might miss out on some of that. But then in Java it might be argued that you'll learn programming quicker since you don't have to worry about the more complex stuff.

Whatever you learn, you need to start programming and get used to it all. So just pick one and go, and you'll do fine.

I personally taught myself C++ first, and learnt a lot from that, but if you want an easier time at uni, you can start with Java too. Just start
tzenes
Profile Blog Joined March 2010
Canada64 Posts
January 28 2013 08:10 GMT
#4662
On January 28 2013 16:06 SgtCoDFish wrote:
Show nested quote +
On January 28 2013 14:30 HeavenS wrote:
+ Show Spoiler +
Hey guys this thread seems very very informative. I seem to have gotten late to the party, wow 233 pages! Anyways im kinda having a bit of an issue. You see, i was a civil engineering major, however as of lately ive really lost interest in it. I've found that as i learn more and more about what the daily job of a civil engineer is, it interests me less and less. This kinda sucks because it was really all i had thought about studying, however im pretty much about 90% sure that im going to switch my major now rather than finish it only to be bored of it! Seeing as how i like computers so much, and i love visiting the xda-dev website to read up on topics and it always amazes me how the devs there accomplish things, i've thought that maybe software engineering would be a good major to switch to. I think it might offer me that space to be creative and i could put the skills learned to making my own programs in my spare time and who knows maybe even an app or something.

I've also read that job prospects are very good and you can be employed in a great variety of places. The major i was eyeing is Computer Science, with a software development track (as is stated by my university). Switching to this major would allow me to make use of the math that i've learned thus far and i wouldn't have to start from zero because of the overlapping classes up to a certain point. However, i have never EVER done any programming whatsoever and honestly don't even know where to start. So here's my question to you guys. I have four months of free time until my semester at the uni starts and i want to put it to good use. I want to dip my feet into programming so when i start Uni i wont be completely clueless. I THINK the first programming course at the Uni is Java. That being said, what should i devote these next four months to? I obviously read the op but its still not clear to me which language i should devote to first? Should i start with java since i'll be learning java first course anyways? Or should i do c++? IDK! please give me some advice!


The first thing you must learn is very central to programming discussions:

There are a lot of people who hate certain languages, and they will appear constantly on the internet disparaging X language because of Y. It's in fashion at the moment for people to shit on Java, and you'll see a LOT of people complaining about it and posting snippets of bad code and saying "ha look how bad java is!" These people exist for every language.

The fact of the matter is, just as Da Vinci would've been a great artist with a paintbrush, a pencil or whatever, a good programmer will be good with any language that's suitable for the job. Part of being a good programmer is knowing what's suitable for the job. For learning programming, it really won't matter. That said, you have good and bad choices for starting off.

Java is an OO language, which means object-oriented. It is built around the programmer defining data types (classes) and access to these data types (methods). C++ also has classes and can also be an OO language. There are others too, C# being notable. Other languages are "functional" and require a different way of thinking about solving a problem. Obviously, if you're going to be doing Java at Uni, you'll benefit most from starting with an OO language so you have the mindset right. Programming with OO is all about good structure and design, and planning ahead so you have a sensible structure.

You list 3 Object Oriented languages and then describe other languages as "functional;" I guess technically you could argue you didn't say all other languages are functional, but it'd be easy for someone to think you did.

Here is a quick list of Object Oriented Languages:
+ Show Spoiler +

ABAP
Ada 95
AmigaE
BETA
Blue
Boo
C++
C#
Chapel
Clarion
CLU
COBOL
Cobra
ColdFusion
Common Lisp
COOL
CorbaScript
Curl
D
Dylan
E
Eiffel
Sather
Falcon
Fancy
Fortran 2003
FPr
FreeBASIC
F-Script
F#
Gambas
Graphtalk
IDLscript
J
JADE
Java
Groovy
Join Java
X10
Lasso
Lava
Lexico
Lingo
LISP
Logtalk
MATLAB
Modula-2
Modula-3
Nemerle
NetRexx
Noop
Oberon (Oberon-1)
Oberon-2
Object Pascal
Delphi
Free Pascal
Turbo Pascal
Object REXX
Objective-C
OCaml
Omnis Studio
Oz
Mozart Programming System
Perl since v5
PHP5
Power Builder
PRM[disambiguation needed]
Prototype-based languages
Actor-Based Concurrent Languages: ABCL/1, ABCL/R, ABCL/R2, ABCL/c+
Agora
Cecil
Cel
ECMAScript
ActionScript
JavaScript
JScript
Etoys in Squeak
Io
Lua
Lisaac
MOO
NewtonScript
Obliq
REBOL
Self
Python
REALbasic
Revolution
Ruby
S
R
Scala
Seed7
SenseTalk
Simula
Smalltalk
Self
Bistro
Squeak
Squirrel
Superx++
TADS
Tcl
Xotcl similar to CLOS
Snit uses delegation
incr Tcl (itcl) similar to C++
Ubercode
Visual Basic
Visual Basic .NET (VB.NET)
VBScript
Visual Basic for Applications (VBA)
Visual FoxPro
Visual Prolog
XBase++ extends xBase standard language
ZZT-oop


Here are a list of functional programming languages
+ Show Spoiler +

Charity
Clean
Curry
Haskell
Hope
Miranda
APL
ATS
Candle
Curl
Erlang
F#
FPr
CAL
Hop
J
Joy
Kite
Lisp
Clojure
Common Lisp
Dylan
eLisp Emacs Lisp
Little b
Logo
Scheme
Racket (formerly PLT Scheme)
Tea
Lush
Mathematica
ML
Standard ML
Alice
OCaml
Mythryl
Nemerle
Opal
OPS5
Poplog
Q (equational programming language)
Q (programming language from Kx Systems)
R
REFAL
Russell
Scala
Spreadsheets


You'll notice the list is significantly shorter; most modern programming languages are object orients. You'll notice something else too: there is a TON of overlap. Object Oriented and Functional are not two sides of the same coin. You can have both. What's more, if you look at a lot of languages that are successors to Smalltalk (like Python, Ruby, C#), we'll notice they've adopted a lot of functional paradigms. There is even talk of making functions first class objects in the next edition of java ( http://en.wikipedia.org/wiki/Java_version_history#Java_SE_8 ).


Other than recommending you start with an OO language since you'll be studying java, it really doesn't matter what you pick as long as (and this is important) you learn in the right way. Instead of just taking it for granted that a piece of code works, you need to learn why the programmer did it that way, and what the benefits are.

C++ is an immensely complex language with a lot of shit that can cause serious problems if you do it wrong. There are a lot of little rules and tricks and things you need to learn to avoid very nasty bugs that can be a real pain to find and fix. But its complexity stems from a philosophy of giving total control to the programmer. As such, if a computer can be made to do something, chances are you can program it in C++ (or C, but C doesn't really have OO so learning C++ might be better).

Java is based heavily on C++ but removes some of of the really complex stuff, taking a little control from the user to make life easier. In C++ when you get a piece of memory, you have to remember to delete its contents too or it'll just kinda stay there (this is called a memory leak, and leads to inefficiency and can lead to crashes if you leak a lot). In Java, the environment in which you run programs handles the deletion for you (this is called GC, or garbage collection) which has positives (much lesser chance of leaks) and negatives (it can be difficult to control this, leading to "GC lag" when garbage is collected at a performance intensive time). There are many other differences.

Emphasis mine. This is probably the most important point you make in your entire post. When choosing a programming language control is a feature. Languages like Java, C#, Ruby all have memory management built into them. This doesn't mean you can't have a memory leak (I've had tons in Java), just that you don't have to constantly be concerned with allocating and freeing memory for your objects.

Another major axis of control people like to work on is typing. Static vs Dynamic, Strong vs Weak. Here Java chooses to give you more control at the cost of making your life harder. Programming languages like Python and PHP, choose dynamic typing. This takes away a little control to make life easier. C++ programmers tend you really like having full control. By comparison a Ruby programmer prefers to give up that control for ease of use.


If you start with C++, you're more likely to pick up on how a computer works in detail. Java/other languages place a cushion between you and the computer so you might miss out on some of that. But then in Java it might be argued that you'll learn programming quicker since you don't have to worry about the more complex stuff.

Whatever you learn, you need to start programming and get used to it all. So just pick one and go, and you'll do fine.

I personally taught myself C++ first, and learnt a lot from that, but if you want an easier time at uni, you can start with Java too. Just start

I highly recommend you start with C instead of C++. In many ways C++ is like a super set of C (it's not, but very close). However, those extra features (inheritance, polymorphism, etc) are very complex and can easily confuse you while you're still trying to work out concepts like pointers and recursion.

However, if you'd prefer to try another language out, it'd be worth looking at:
http://koans.heroku.com/ (Ruby)
or
http://www.codecademy.com/#!/exercises/0 (Javascript, but has options for Python or Ruby)

Both online and you can start learning right now.
frogmelter
Profile Blog Joined April 2009
United States971 Posts
January 28 2013 08:23 GMT
#4663
Is C# worth learning? I know a good deal of other languages but one thing that I've noticed is that most job interviews ask about C#, which is something that I'm not familiar with. Why is C# so popular? Is it worth learning?

I realize that this is an incredibly subjective question, but I would appreciate any insight since I am on the fence about it. On one hand it seems popular but on the other hand I think there are other languages that accomplish what C# can do that I have already studied...

Thanks in advance.
TL+ Member
tec27
Profile Blog Joined June 2004
United States3701 Posts
January 28 2013 08:36 GMT
#4664
On January 28 2013 17:23 frogmelter wrote:
Is C# worth learning? I know a good deal of other languages but one thing that I've noticed is that most job interviews ask about C#, which is something that I'm not familiar with. Why is C# so popular? Is it worth learning?

I realize that this is an incredibly subjective question, but I would appreciate any insight since I am on the fence about it. On one hand it seems popular but on the other hand I think there are other languages that accomplish what C# can do that I have already studied...

Thanks in advance.

C# is very similar to Java, but designed to handle a lot of things better than Java does (e.g. having first-class functions, a better type system, better generics). If you already know Java I think you could pick it up fairly quickly, and if I had to choose between the two I'd choose C# every time.

I don't think I'd ever say "don't learn X language" if you have the time, every language has something to offer and can help you think in new and helpful ways (even when you're using other languages). Once you get to a certain point in your knowledge, becoming mildly productive in a new language takes very little time, so why not play around with a language for a bit even if it won't be immediately useful to you? I don't know if you're at that point yet, but in any case, it can't hurt
Can you jam with the console cowboys in cyberspace?
Kambing
Profile Joined May 2010
United States1176 Posts
Last Edited: 2013-01-28 12:00:41
January 28 2013 11:54 GMT
#4665
On January 28 2013 14:30 HeavenS wrote:
Hey guys this thread seems very very informative. I seem to have gotten late to the party, wow 233 pages! Anyways im kinda having a bit of an issue. You see, i was a civil engineering major, however as of lately ive really lost interest in it. I've found that as i learn more and more about what the daily job of a civil engineer is, it interests me less and less. This kinda sucks because it was really all i had thought about studying, however im pretty much about 90% sure that im going to switch my major now rather than finish it only to be bored of it! Seeing as how i like computers so much, and i love visiting the xda-dev website to read up on topics and it always amazes me how the devs there accomplish things, i've thought that maybe software engineering would be a good major to switch to. I think it might offer me that space to be creative and i could put the skills learned to making my own programs in my spare time and who knows maybe even an app or something.

I've also read that job prospects are very good and you can be employed in a great variety of places. The major i was eyeing is Computer Science, with a software development track (as is stated by my university). Switching to this major would allow me to make use of the math that i've learned thus far and i wouldn't have to start from zero because of the overlapping classes up to a certain point. However, i have never EVER done any programming whatsoever and honestly don't even know where to start. So here's my question to you guys. I have four months of free time until my semester at the uni starts and i want to put it to good use. I want to dip my feet into programming so when i start Uni i wont be completely clueless. I THINK the first programming course at the Uni is Java. That being said, what should i devote these next four months to? I obviously read the op but its still not clear to me which language i should devote to first? Should i start with java since i'll be learning java first course anyways? Or should i do c++? IDK! please give me some advice!


Speaking with extreme bias as a computer science educator, start with Java, especially if your university intro class uses it. Develop strong programming fundamentals in your independent study as well as your intro courses. Java, for all its warts and ugliness, is an ok language to start with. For self-study, low-level languages like C and C++ require too much knowledge up-front to get properly, and are best tackled when you have some background and intuition built up already.

At a bare minimum, with respect to programming, you should expose yourself to at least three different sorts of languages:

+ An everyday programming language that is imperative and (usually) object-oriented such as Java, C#, or Python.
+ A systems programming language that exposes low-level details and forces you think at the intersection of hardware and software such as C and C++.
+ A functional programming language that exposes the necessity of abstraction and mathematical reasoning within software development such as Lisp/Scheme, OCaml/ML, Scala, or Haskell.

If your degree program doesn't expose you to one of these paradigms, it behooves you as a good computer scientist to take it upon yourself to get that exposure via self-study before you graduate. The difference in programming knowledge between someone who has exposure to these different paradigms and someone who hasn't on the interview loop is like day and night.
mcc
Profile Joined October 2010
Czech Republic4646 Posts
January 28 2013 13:25 GMT
#4666
On January 28 2013 17:23 frogmelter wrote:
Is C# worth learning? I know a good deal of other languages but one thing that I've noticed is that most job interviews ask about C#, which is something that I'm not familiar with. Why is C# so popular? Is it worth learning?

I realize that this is an incredibly subjective question, but I would appreciate any insight since I am on the fence about it. On one hand it seems popular but on the other hand I think there are other languages that accomplish what C# can do that I have already studied...

Thanks in advance.

It is Java done better Not that it does not have things that make you cringe. Also if you come from C/C++ background you will be pleased by the syntax, much less verbose than Java.
mcc
Profile Joined October 2010
Czech Republic4646 Posts
January 28 2013 13:35 GMT
#4667
On January 28 2013 20:54 Kambing wrote:
Show nested quote +
On January 28 2013 14:30 HeavenS wrote:
Hey guys this thread seems very very informative. I seem to have gotten late to the party, wow 233 pages! Anyways im kinda having a bit of an issue. You see, i was a civil engineering major, however as of lately ive really lost interest in it. I've found that as i learn more and more about what the daily job of a civil engineer is, it interests me less and less. This kinda sucks because it was really all i had thought about studying, however im pretty much about 90% sure that im going to switch my major now rather than finish it only to be bored of it! Seeing as how i like computers so much, and i love visiting the xda-dev website to read up on topics and it always amazes me how the devs there accomplish things, i've thought that maybe software engineering would be a good major to switch to. I think it might offer me that space to be creative and i could put the skills learned to making my own programs in my spare time and who knows maybe even an app or something.

I've also read that job prospects are very good and you can be employed in a great variety of places. The major i was eyeing is Computer Science, with a software development track (as is stated by my university). Switching to this major would allow me to make use of the math that i've learned thus far and i wouldn't have to start from zero because of the overlapping classes up to a certain point. However, i have never EVER done any programming whatsoever and honestly don't even know where to start. So here's my question to you guys. I have four months of free time until my semester at the uni starts and i want to put it to good use. I want to dip my feet into programming so when i start Uni i wont be completely clueless. I THINK the first programming course at the Uni is Java. That being said, what should i devote these next four months to? I obviously read the op but its still not clear to me which language i should devote to first? Should i start with java since i'll be learning java first course anyways? Or should i do c++? IDK! please give me some advice!


Speaking with extreme bias as a computer science educator, start with Java, especially if your university intro class uses it. Develop strong programming fundamentals in your independent study as well as your intro courses. Java, for all its warts and ugliness, is an ok language to start with. For self-study, low-level languages like C and C++ require too much knowledge up-front to get properly, and are best tackled when you have some background and intuition built up already.

At a bare minimum, with respect to programming, you should expose yourself to at least three different sorts of languages:

+ An everyday programming language that is imperative and (usually) object-oriented such as Java, C#, or Python.
+ A systems programming language that exposes low-level details and forces you think at the intersection of hardware and software such as C and C++.
+ A functional programming language that exposes the necessity of abstraction and mathematical reasoning within software development such as Lisp/Scheme, OCaml/ML, Scala, or Haskell.

If your degree program doesn't expose you to one of these paradigms, it behooves you as a good computer scientist to take it upon yourself to get that exposure via self-study before you graduate. The difference in programming knowledge between someone who has exposure to these different paradigms and someone who hasn't on the interview loop is like day and night.

I would argue that you should start with language that is not OO and does not have pointers. It is hard to find currently useful language that satisfies both and in that case go with the one that is not OO. Proper OO programming is much harder to do well than learning pointers. Without good knowledge of structural programming you run big risk of developing bad habits if you start with OO language due to being overwhelmed with the features that have nothing to do with basics of programming.
adwodon
Profile Blog Joined September 2010
United Kingdom592 Posts
January 28 2013 13:45 GMT
#4668
On January 28 2013 20:54 Kambing wrote:
Show nested quote +
On January 28 2013 14:30 HeavenS wrote:
Hey guys this thread seems very very informative. I seem to have gotten late to the party, wow 233 pages! Anyways im kinda having a bit of an issue. You see, i was a civil engineering major, however as of lately ive really lost interest in it. I've found that as i learn more and more about what the daily job of a civil engineer is, it interests me less and less. This kinda sucks because it was really all i had thought about studying, however im pretty much about 90% sure that im going to switch my major now rather than finish it only to be bored of it! Seeing as how i like computers so much, and i love visiting the xda-dev website to read up on topics and it always amazes me how the devs there accomplish things, i've thought that maybe software engineering would be a good major to switch to. I think it might offer me that space to be creative and i could put the skills learned to making my own programs in my spare time and who knows maybe even an app or something.

I've also read that job prospects are very good and you can be employed in a great variety of places. The major i was eyeing is Computer Science, with a software development track (as is stated by my university). Switching to this major would allow me to make use of the math that i've learned thus far and i wouldn't have to start from zero because of the overlapping classes up to a certain point. However, i have never EVER done any programming whatsoever and honestly don't even know where to start. So here's my question to you guys. I have four months of free time until my semester at the uni starts and i want to put it to good use. I want to dip my feet into programming so when i start Uni i wont be completely clueless. I THINK the first programming course at the Uni is Java. That being said, what should i devote these next four months to? I obviously read the op but its still not clear to me which language i should devote to first? Should i start with java since i'll be learning java first course anyways? Or should i do c++? IDK! please give me some advice!


Speaking with extreme bias as a computer science educator, start with Java, especially if your university intro class uses it. Develop strong programming fundamentals in your independent study as well as your intro courses. Java, for all its warts and ugliness, is an ok language to start with. For self-study, low-level languages like C and C++ require too much knowledge up-front to get properly, and are best tackled when you have some background and intuition built up already.

At a bare minimum, with respect to programming, you should expose yourself to at least three different sorts of languages:

+ An everyday programming language that is imperative and (usually) object-oriented such as Java, C#, or Python.
+ A systems programming language that exposes low-level details and forces you think at the intersection of hardware and software such as C and C++.
+ A functional programming language that exposes the necessity of abstraction and mathematical reasoning within software development such as Lisp/Scheme, OCaml/ML, Scala, or Haskell.

If your degree program doesn't expose you to one of these paradigms, it behooves you as a good computer scientist to take it upon yourself to get that exposure via self-study before you graduate. The difference in programming knowledge between someone who has exposure to these different paradigms and someone who hasn't on the interview loop is like day and night.


I'll second this.

Personally I really dislike Java these days, but it was the first language I learnt at uni (physics) and I can see why as from the position of knowing nothing it is a straight forward language to get to grips with.

You shouldn't fear C/C++ as much if you have an engineering background, you'll understand hardware a bit better, same with functional programming as you'll have a good mathematical background to base the ideas on.

Don't expect to understand everything at once though, I'm sure with your current major you've learnt this already, but these concepts can take a while to fully understand, and require different perspectives. For example, I didn't really understand what an 'imperative' language was until I started learning about functional languages, whilst I knew these things about the languages I'd used before, I hadn't put 2 and 2 together to understand the idea behind it.

I'll add some further recommendations and that's IDE's. You want to learn how to program well, you need to understand your programs, and nothing is better than a good debugger.

You should really try to familiarize yourself with Visual Studio and Eclipse at the minimum, Visual Studio for C/C++/C# and Eclipse for Java. You can use plugins for both to support Python etc
Personally I prefer VS but thats because I work in it every day and I'm used to how it operates. I didn't learn how to debug a program till I left uni and got a job, and looking back its safe to say that was stupid of me, it may be a bit frustrating at first but learning how to step through your program and know exactly whats happening is obviously extremely useful.

As far as what you can do and what you should learn I think if you can do the following task you could consider yourself familiar with some of the basics:

Take a text file with names and ages like:

James 12
John 19
Ellie 28

Just a list like that, and write a program to extract that data from the file and put it in a list / hash tables / something.
Then use said something to sort the information, both by name or by age.

Start with Java as that will be the most straight forward. Then try it in C or C++, I'm not that familiar with C++ so I don't know if there would be much difference, but either way it will be more complicated than Java (C at least). Once you're familiar with how this works then maybe move on to something a little more complex like graphics.

Really though, the best thing to do is to just find a project and go for it. Learn what you need to as you go and pay attention to the little things, so when you're sorting, maybe look at how to do it one way, then another, see the pros and cons and implement both, experiment and play around to figure out what works and what doesn't.

Really though, for now, don't worry about the language. Worry about what you can do with it, then learn what you can do in one language in another, you'll learn the pros and cons of them and then you can start to form your own opinions.
Kambing
Profile Joined May 2010
United States1176 Posts
Last Edited: 2013-01-28 15:36:59
January 28 2013 15:32 GMT
#4669
On January 28 2013 22:35 mcc wrote:
Show nested quote +
On January 28 2013 20:54 Kambing wrote:
On January 28 2013 14:30 HeavenS wrote:
Hey guys this thread seems very very informative. I seem to have gotten late to the party, wow 233 pages! Anyways im kinda having a bit of an issue. You see, i was a civil engineering major, however as of lately ive really lost interest in it. I've found that as i learn more and more about what the daily job of a civil engineer is, it interests me less and less. This kinda sucks because it was really all i had thought about studying, however im pretty much about 90% sure that im going to switch my major now rather than finish it only to be bored of it! Seeing as how i like computers so much, and i love visiting the xda-dev website to read up on topics and it always amazes me how the devs there accomplish things, i've thought that maybe software engineering would be a good major to switch to. I think it might offer me that space to be creative and i could put the skills learned to making my own programs in my spare time and who knows maybe even an app or something.

I've also read that job prospects are very good and you can be employed in a great variety of places. The major i was eyeing is Computer Science, with a software development track (as is stated by my university). Switching to this major would allow me to make use of the math that i've learned thus far and i wouldn't have to start from zero because of the overlapping classes up to a certain point. However, i have never EVER done any programming whatsoever and honestly don't even know where to start. So here's my question to you guys. I have four months of free time until my semester at the uni starts and i want to put it to good use. I want to dip my feet into programming so when i start Uni i wont be completely clueless. I THINK the first programming course at the Uni is Java. That being said, what should i devote these next four months to? I obviously read the op but its still not clear to me which language i should devote to first? Should i start with java since i'll be learning java first course anyways? Or should i do c++? IDK! please give me some advice!


Speaking with extreme bias as a computer science educator, start with Java, especially if your university intro class uses it. Develop strong programming fundamentals in your independent study as well as your intro courses. Java, for all its warts and ugliness, is an ok language to start with. For self-study, low-level languages like C and C++ require too much knowledge up-front to get properly, and are best tackled when you have some background and intuition built up already.

At a bare minimum, with respect to programming, you should expose yourself to at least three different sorts of languages:

+ An everyday programming language that is imperative and (usually) object-oriented such as Java, C#, or Python.
+ A systems programming language that exposes low-level details and forces you think at the intersection of hardware and software such as C and C++.
+ A functional programming language that exposes the necessity of abstraction and mathematical reasoning within software development such as Lisp/Scheme, OCaml/ML, Scala, or Haskell.

If your degree program doesn't expose you to one of these paradigms, it behooves you as a good computer scientist to take it upon yourself to get that exposure via self-study before you graduate. The difference in programming knowledge between someone who has exposure to these different paradigms and someone who hasn't on the interview loop is like day and night.

I would argue that you should start with language that is not OO and does not have pointers. It is hard to find currently useful language that satisfies both and in that case go with the one that is not OO. Proper OO programming is much harder to do well than learning pointers. Without good knowledge of structural programming you run big risk of developing bad habits if you start with OO language due to being overwhelmed with the features that have nothing to do with basics of programming.


I agree that (good) object-oriented design is an advanced topic and there's a plethora of programming-in-the-small skills that one should become versed in before tackling it. That being said, the most pragmatic language you can start with (from the perspective of a undergraduate in computer science) is Java. This is mostly because the curriculum of virtually every computer science degree will assume some familiarity with Java, so getting a head start on it is a good idea. When I teach intro CS, I leave out the OO until the end of the course. This has the downside of ingraining some un-idiomatic Java habits in students, but the trade-off in understanding is worth it. And, from what I've seen, students quickly adjust to doing "the right thing" in Java relatively quickly.

In a world where I'm not bound to curriculum requirements, Python is an excellent balance of simplicity, support, and practicality. It is difficult to teaching good OO principles in Python due to the lack of (static) types, but up to that point, its (almost) perfect.

EDIT: alternatively, if I wasn't bound to any curriculum requirements, I would strongly considering starting out a new student in OCaml or Haskell. Imperative programming is fundamentally difficult and beginner-unfriendly like OO (but for different reasons). Functional programming, on the other hand, focuses on the principles you want to emphasize -- decomposition, recursion, and abstraction.
mcc
Profile Joined October 2010
Czech Republic4646 Posts
January 28 2013 22:17 GMT
#4670
On January 29 2013 00:32 Kambing wrote:
Show nested quote +
On January 28 2013 22:35 mcc wrote:
On January 28 2013 20:54 Kambing wrote:
On January 28 2013 14:30 HeavenS wrote:
Hey guys this thread seems very very informative. I seem to have gotten late to the party, wow 233 pages! Anyways im kinda having a bit of an issue. You see, i was a civil engineering major, however as of lately ive really lost interest in it. I've found that as i learn more and more about what the daily job of a civil engineer is, it interests me less and less. This kinda sucks because it was really all i had thought about studying, however im pretty much about 90% sure that im going to switch my major now rather than finish it only to be bored of it! Seeing as how i like computers so much, and i love visiting the xda-dev website to read up on topics and it always amazes me how the devs there accomplish things, i've thought that maybe software engineering would be a good major to switch to. I think it might offer me that space to be creative and i could put the skills learned to making my own programs in my spare time and who knows maybe even an app or something.

I've also read that job prospects are very good and you can be employed in a great variety of places. The major i was eyeing is Computer Science, with a software development track (as is stated by my university). Switching to this major would allow me to make use of the math that i've learned thus far and i wouldn't have to start from zero because of the overlapping classes up to a certain point. However, i have never EVER done any programming whatsoever and honestly don't even know where to start. So here's my question to you guys. I have four months of free time until my semester at the uni starts and i want to put it to good use. I want to dip my feet into programming so when i start Uni i wont be completely clueless. I THINK the first programming course at the Uni is Java. That being said, what should i devote these next four months to? I obviously read the op but its still not clear to me which language i should devote to first? Should i start with java since i'll be learning java first course anyways? Or should i do c++? IDK! please give me some advice!


Speaking with extreme bias as a computer science educator, start with Java, especially if your university intro class uses it. Develop strong programming fundamentals in your independent study as well as your intro courses. Java, for all its warts and ugliness, is an ok language to start with. For self-study, low-level languages like C and C++ require too much knowledge up-front to get properly, and are best tackled when you have some background and intuition built up already.

At a bare minimum, with respect to programming, you should expose yourself to at least three different sorts of languages:

+ An everyday programming language that is imperative and (usually) object-oriented such as Java, C#, or Python.
+ A systems programming language that exposes low-level details and forces you think at the intersection of hardware and software such as C and C++.
+ A functional programming language that exposes the necessity of abstraction and mathematical reasoning within software development such as Lisp/Scheme, OCaml/ML, Scala, or Haskell.

If your degree program doesn't expose you to one of these paradigms, it behooves you as a good computer scientist to take it upon yourself to get that exposure via self-study before you graduate. The difference in programming knowledge between someone who has exposure to these different paradigms and someone who hasn't on the interview loop is like day and night.

I would argue that you should start with language that is not OO and does not have pointers. It is hard to find currently useful language that satisfies both and in that case go with the one that is not OO. Proper OO programming is much harder to do well than learning pointers. Without good knowledge of structural programming you run big risk of developing bad habits if you start with OO language due to being overwhelmed with the features that have nothing to do with basics of programming.


I agree that (good) object-oriented design is an advanced topic and there's a plethora of programming-in-the-small skills that one should become versed in before tackling it. That being said, the most pragmatic language you can start with (from the perspective of a undergraduate in computer science) is Java. This is mostly because the curriculum of virtually every computer science degree will assume some familiarity with Java, so getting a head start on it is a good idea. When I teach intro CS, I leave out the OO until the end of the course. This has the downside of ingraining some un-idiomatic Java habits in students, but the trade-off in understanding is worth it. And, from what I've seen, students quickly adjust to doing "the right thing" in Java relatively quickly.

In a world where I'm not bound to curriculum requirements, Python is an excellent balance of simplicity, support, and practicality. It is difficult to teaching good OO principles in Python due to the lack of (static) types, but up to that point, its (almost) perfect.

EDIT: alternatively, if I wasn't bound to any curriculum requirements, I would strongly considering starting out a new student in OCaml or Haskell. Imperative programming is fundamentally difficult and beginner-unfriendly like OO (but for different reasons). Functional programming, on the other hand, focuses on the principles you want to emphasize -- decomposition, recursion, and abstraction.

I see, I was talking from the position of not being bound by curriculum (and I think that putting Java as starting language was a mistake that majority of schools made due to various reasons). If you are bound by curriculum then yes, it probably makes a lot of sense.

Python seems like a good candidate, although I dislike purely dynamic languages. Unfortunately no simple strongly-typed language survived to this day as a practical language. Shame that Pascal went away, if it evolved a bit it would be a good teaching language.

Also since we are discussing which languages to learn : people should learn D more, awesome language. Shame it didn't get the community or corporate backing it deserves and thus lacks extensive libraries that make or break languages in today's world. I hope C# designers take all they can from it
AmericanUmlaut
Profile Blog Joined November 2010
Germany2577 Posts
January 29 2013 08:40 GMT
#4671
I really wish a dialect of BASIC were still supported. My first exposure to programming was my dad teaching me the basics (hah) of QBASIC on a Tandy-1000, and from what I remember it's a pretty ideal environment for a new programmer. It supports text output and basic graphics without any external libraries, so you can have a working "hello world" program as a beginner in less than a minute, and do something fun like move a circle around the screen with keyboard controls in an hour or two.
The frumious Bandersnatch
enigmaticcam
Profile Blog Joined October 2010
United States280 Posts
January 29 2013 16:44 GMT
#4672
On January 29 2013 17:40 AmericanUmlaut wrote:
I really wish a dialect of BASIC were still supported. My first exposure to programming was my dad teaching me the basics (hah) of QBASIC on a Tandy-1000, and from what I remember it's a pretty ideal environment for a new programmer. It supports text output and basic graphics without any external libraries, so you can have a working "hello world" program as a beginner in less than a minute, and do something fun like move a circle around the screen with keyboard controls in an hour or two.

Visual Basic .Net is still used a lot in custom business software. I use it everyday at my work, and many of our custom apps used throughout our business are written in VB.NET. A lot of people swear to C#, but frankly there's no difference - it's just a matter of preference.
AmericanUmlaut
Profile Blog Joined November 2010
Germany2577 Posts
Last Edited: 2013-01-29 16:50:55
January 29 2013 16:50 GMT
#4673
VB is quite a lot different than BASIC, though. Hello world in BASIC is

10 print "hello world"

which you can teach a 5 year old in 30 seconds (as I know from my own childhood experience). Getting a simple program up and running in VB is significantly more work, and doing anything with graphics requires a bunch of API calls.
The frumious Bandersnatch
mcc
Profile Joined October 2010
Czech Republic4646 Posts
Last Edited: 2013-01-29 16:59:53
January 29 2013 16:52 GMT
#4674
On January 30 2013 01:44 enigmaticcam wrote:
Show nested quote +
On January 29 2013 17:40 AmericanUmlaut wrote:
I really wish a dialect of BASIC were still supported. My first exposure to programming was my dad teaching me the basics (hah) of QBASIC on a Tandy-1000, and from what I remember it's a pretty ideal environment for a new programmer. It supports text output and basic graphics without any external libraries, so you can have a working "hello world" program as a beginner in less than a minute, and do something fun like move a circle around the screen with keyboard controls in an hour or two.

Visual Basic .Net is still used a lot in custom business software. I use it everyday at my work, and many of our custom apps used throughout our business are written in VB.NET. A lot of people swear to C#, but frankly there's no difference - it's just a matter of preference.

Nope it is not. C# is well designed language, Visual Basic is work of the devil and should have never seen the light of day. Just because something allows you to program the same things as something else does not mean they are equal. Do not mention VB or he will jump out of the wall and eat you

EDIT: It is used because Microsoft was once upon a time pushing it and it got popular among people who either should not have been programming corporate software at all or did not know better. I heard that the .Net version is better than the hell that was pre-.Net VB, but it is still terribly designed language, definitely unsuitable for teaching people basics of programming.
enigmaticcam
Profile Blog Joined October 2010
United States280 Posts
January 29 2013 17:02 GMT
#4675
On January 30 2013 01:52 mcc wrote:Nope it is not. C# is well designed language, Visual Basic is work of the devil and should have never seen the light of day. Just because something allows you to program the same things as something else does not mean they are equal. Do not mention VB or he will jump out of the wall and eat you

The only thing C#.NET has to offer that VB.NET doesn't is an invitation to the circle jerk of C# users who look down their noses at the rest of us who still use VB. There is no difference between the two. The only advantage that can be argued is that learning C# translates easier to other languages that are similar to C.
mcc
Profile Joined October 2010
Czech Republic4646 Posts
January 29 2013 17:26 GMT
#4676
On January 30 2013 02:02 enigmaticcam wrote:
Show nested quote +
On January 30 2013 01:52 mcc wrote:Nope it is not. C# is well designed language, Visual Basic is work of the devil and should have never seen the light of day. Just because something allows you to program the same things as something else does not mean they are equal. Do not mention VB or he will jump out of the wall and eat you

The only thing C#.NET has to offer that VB.NET doesn't is an invitation to the circle jerk of C# users who look down their noses at the rest of us who still use VB. There is no difference between the two. The only advantage that can be argued is that learning C# translates easier to other languages that are similar to C.

Yes, I look down on the language as it is example of terrible language design. I do not look down on programmers that work with it, I was forced to work in VB too. There is more to language design than what you can do with a language. I can (theoretically) write in brainfuck what I can in C#, does not mean one is not superior language over the other. That is rather strained comparison, but even in case of languages of similar type some are easily better designed than others.

But comparing it with C# is kind of out there, VB was designed as scripting language and has no place in most cases where C# should be used. Problem is if I need to use scripting language I will not pick VB if I can avoid it as there are plenty better choices.
enigmaticcam
Profile Blog Joined October 2010
United States280 Posts
Last Edited: 2013-01-29 18:08:11
January 29 2013 18:03 GMT
#4677
On January 30 2013 02:26 mcc wrote:
Show nested quote +
On January 30 2013 02:02 enigmaticcam wrote:
On January 30 2013 01:52 mcc wrote:Nope it is not. C# is well designed language, Visual Basic is work of the devil and should have never seen the light of day. Just because something allows you to program the same things as something else does not mean they are equal. Do not mention VB or he will jump out of the wall and eat you

The only thing C#.NET has to offer that VB.NET doesn't is an invitation to the circle jerk of C# users who look down their noses at the rest of us who still use VB. There is no difference between the two. The only advantage that can be argued is that learning C# translates easier to other languages that are similar to C.

Yes, I look down on the language as it is example of terrible language design. I do not look down on programmers that work with it, I was forced to work in VB too. There is more to language design than what you can do with a language. I can (theoretically) write in brainfuck what I can in C#, does not mean one is not superior language over the other. That is rather strained comparison, but even in case of languages of similar type some are easily better designed than others.

But comparing it with C# is kind of out there, VB was designed as scripting language and has no place in most cases where C# should be used. Problem is if I need to use scripting language I will not pick VB if I can avoid it as there are plenty better choices.

Meh, no one's been able to show me exactly why and how C# is better. The only difference between the two is syntax. The fact that there are converters out there that will convert C#.NET to VB.NET and vice versa is strongly suggestive of this.

Edit: From Wikipedia (http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Visual_Basic_.NET)
Though C# and VB.NET are syntactically very different, that is where the differences mostly end. Microsoft developed both of these languages to be part of the same .NET Framework development platform. They are both developed, managed, and supported by the same language development team at Microsoft.[7] They compile to the same intermediate language (IL), which runs against the same .NET Framework runtime libraries.[8] Although there are some differences in the programming constructs (discussed further below), their differences are primarily syntactic and, assuming one avoids the Visual Basic "Compatibility" libraries provided by Microsoft to aid conversion from VB6, almost every command in VB has an equivalent command in C# and vice versa. Lastly, both languages reference the same Base Classes of the .NET Framework to extend their functionality. As a result, with few exceptions, a program written in either language can be run through a simple syntax converter to translate to the other. There are many open source and commercially available products for this purpose.
RoyGBiv_13
Profile Blog Joined August 2010
United States1275 Posts
January 29 2013 18:20 GMT
#4678


Meh, no one's been able to show me exactly why and how C# is better. The only difference between the two is syntax. The fact that there are converters out there that will convert C#.NET to VB.NET and vice versa is strongly suggestive of this.



Not to fuel the C# vs VB sub-thread, I've always found that conversions between between languages is often a hodgepodge of crappy, unreadable syntax. Though I haven't delved too deeply into the .NET framework, so I can't comment on that particular conversion.

Are there language converters that don't suck, or is my anecdotal evidence actually a representation of the whole?
Any sufficiently advanced technology is indistinguishable from magic
tofucake
Profile Blog Joined October 2009
Hyrule19083 Posts
January 29 2013 18:33 GMT
#4679
For some reason, even though both are compiled to MSIL, there are differences in the languages that make some conversions impossible. For instance, trying to sort a ListView by any but the first column in VB.Net isn't possible. Doing it in C# is as simple as calling a function called sortColumn (I think). It's beyond me why that's true, but it is (or at least was a few years ago, the last time I used VB.Net).
Liquipediaasante sana squash banana
mcc
Profile Joined October 2010
Czech Republic4646 Posts
January 29 2013 18:45 GMT
#4680
On January 30 2013 03:03 enigmaticcam wrote:
Show nested quote +
On January 30 2013 02:26 mcc wrote:
On January 30 2013 02:02 enigmaticcam wrote:
On January 30 2013 01:52 mcc wrote:Nope it is not. C# is well designed language, Visual Basic is work of the devil and should have never seen the light of day. Just because something allows you to program the same things as something else does not mean they are equal. Do not mention VB or he will jump out of the wall and eat you

The only thing C#.NET has to offer that VB.NET doesn't is an invitation to the circle jerk of C# users who look down their noses at the rest of us who still use VB. There is no difference between the two. The only advantage that can be argued is that learning C# translates easier to other languages that are similar to C.

Yes, I look down on the language as it is example of terrible language design. I do not look down on programmers that work with it, I was forced to work in VB too. There is more to language design than what you can do with a language. I can (theoretically) write in brainfuck what I can in C#, does not mean one is not superior language over the other. That is rather strained comparison, but even in case of languages of similar type some are easily better designed than others.

But comparing it with C# is kind of out there, VB was designed as scripting language and has no place in most cases where C# should be used. Problem is if I need to use scripting language I will not pick VB if I can avoid it as there are plenty better choices.

Meh, no one's been able to show me exactly why and how C# is better. The only difference between the two is syntax. The fact that there are converters out there that will convert C#.NET to VB.NET and vice versa is strongly suggestive of this.

Edit: From Wikipedia (http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Visual_Basic_.NET)
Show nested quote +
Though C# and VB.NET are syntactically very different, that is where the differences mostly end. Microsoft developed both of these languages to be part of the same .NET Framework development platform. They are both developed, managed, and supported by the same language development team at Microsoft.[7] They compile to the same intermediate language (IL), which runs against the same .NET Framework runtime libraries.[8] Although there are some differences in the programming constructs (discussed further below), their differences are primarily syntactic and, assuming one avoids the Visual Basic "Compatibility" libraries provided by Microsoft to aid conversion from VB6, almost every command in VB has an equivalent command in C# and vice versa. Lastly, both languages reference the same Base Classes of the .NET Framework to extend their functionality. As a result, with few exceptions, a program written in either language can be run through a simple syntax converter to translate to the other. There are many open source and commercially available products for this purpose.

I knew that, but trying to answer you forced me to actually look properly at VB.NET. Seems they actually created more of a new language as they fixed the most glaring nonsense from VB. In that case I move VB.Net from category of bad design, to just ugly. It is too verbose and cumbersome and in general the syntax is just strange/ugly. But all that is somewhat subjective so we do not have to argue about it It still seems to lack some things, like unsafe, but those are just rare cases.

I was more arguing about VB and I will stand by what I said about it
Prev 1 232 233 234 235 236 1031 Next
Please log in or register to reply.
Live Events Refresh
OSC
22:00
OSC Elite Rising Star #16
davetesta63
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
SpeCial 181
ProTech91
StarCraft: Brood War
sSak 44
Noble 7
Purpose 3
Dota 2
LuMiX1
Counter-Strike
semphis_36
Super Smash Bros
Mew2King8
Heroes of the Storm
Khaldor141
Other Games
summit1g6946
Grubby3220
FrodaN2106
JimRising 574
Organizations
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• Berry_CruncH26
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• FirePhoenix10
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• masondota22498
League of Legends
• Doublelift5594
Other Games
• tFFMrPink 22
Upcoming Events
RSL Revival
9h 12m
Cure vs Bunny
Creator vs Zoun
Maestros of the Game
16h 12m
Maru vs Lambo
herO vs ShoWTimE
BSL Team Wars
18h 12m
Team Hawk vs Team Sziky
Sparkling Tuna Cup
1d 9h
Monday Night Weeklies
1d 15h
The PondCast
4 days
Online Event
5 days
BSL Team Wars
5 days
Team Bonyth vs Team Dewalt
BSL Team Wars
5 days
Maestros of the Game
6 days
[ Show More ]
Cosmonarchy
6 days
Bonyth vs Dewalt
[BSL 2025] Weekly
6 days
Liquipedia Results

Completed

Proleague 2025-09-02
SEL Season 2 Championship
HCC Europe

Ongoing

Copa Latinoamericana 4
BSL 20 Team Wars
KCM Race Survival 2025 Season 3
BSL 21: BSL Points
ASL Season 20
CSL 2025 AUTUMN (S18)
LASL Season 20
RSL Revival: Season 2
Maestros of the Game
Chzzk MurlocKing SC1 vs SC2 Cup #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1

Upcoming

2025 Chongqing Offline CUP
BSL Polish World Championship 2025
BSL Season 21
BSL 21 Team A
EC S1
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
MESA Nomadic Masters Fall
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.