• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 06:41
CET 12:41
KST 20:41
  • 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
Rongyi Cup S3 - RO16 Preview3herO wins SC2 All-Star Invitational10SC2 All-Star Invitational: Tournament Preview5RSL Revival - 2025 Season Finals Preview8RSL Season 3 - Playoffs Preview0
Community News
Weekly Cups (Jan 12-18): herO, MaxPax, Solar win0BSL Season 2025 - Full Overview and Conclusion8Weekly Cups (Jan 5-11): Clem wins big offline, Trigger upsets4$21,000 Rongyi Cup Season 3 announced (Jan 22-Feb 7)19Weekly Cups (Dec 29-Jan 4): Protoss rolls, 2v2 returns7
StarCraft 2
General
StarCraft 2 will not be in the Esports World Cup Rongyi Cup S3 - RO16 Preview herO wins SC2 All-Star Invitational PhD study /w SC2 - help with a survey! SC2 Spotted on the EWC 2026 list?
Tourneys
$21,000 Rongyi Cup Season 3 announced (Jan 22-Feb 7) OSC Season 13 World Championship $70 Prize Pool Ladder Legends Academy Weekly Open! SC2 All-Star Invitational: Jan 17-18 Sparkling Tuna Cup - Weekly Open Tournament
Strategy
Simple Questions Simple Answers
Custom Maps
[A] Starcraft Sound Mod
External Content
Mutation # 509 Doomsday Report Mutation # 508 Violent Night Mutation # 507 Well Trained Mutation # 506 Warp Zone
Brood War
General
Gypsy to Korea [ASL21] Potential Map Candidates Which foreign pros are considered the best? BW General Discussion BW AKA finder tool
Tourneys
Small VOD Thread 2.0 [Megathread] Daily Proleagues [BSL21] Non-Korean Championship - Starts Jan 10 Azhi's Colosseum - Season 2
Strategy
Current Meta Simple Questions, Simple Answers Soma's 9 hatch build from ASL Game 2 Game Theory for Starcraft
Other Games
General Games
Nintendo Switch Thread Battle Aces/David Kim RTS Megathread Stormgate/Frost Giant Megathread Beyond All Reason Awesome Games Done Quick 2026!
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
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas
Community
General
US Politics Mega-thread Canadian Politics Mega-thread Russo-Ukrainian War Thread NASA and the Private Sector Things Aren’t Peaceful in Palestine
Fan Clubs
The herO Fan Club! The IdrA Fan Club
Media & Entertainment
Anime Discussion Thread [Manga] One Piece
Sports
2024 - 2026 Football Thread
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
Navigating the Risks and Rew…
TrAiDoS
My 2025 Magic: The Gathering…
DARKING
Life Update and thoughts.
FuDDx
How do archons sleep?
8882
James Bond movies ranking - pa…
Topin
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1662 users

The Big Programming Thread - Page 234

Forum Index > General Forum
Post a Reply
Prev 1 232 233 234 235 236 1032 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 States3702 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
Germany2590 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
Germany2590 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
Hyrule19189 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 1032 Next
Please log in or register to reply.
Live Events Refresh
OSC
11:00
Season 13 World Championship
herO vs ClemLIVE!
Cure vs TBD
Solar vs TBD
Classic vs TBD
WardiTV539
LiquipediaDiscussion
RongYI Cup
11:00
Group A
ByuN vs TriGGeR
herO vs Rogue
RotterdaM444
Harstem187
IndyStarCraft 102
Rex90
BRAT_OK 66
3DClanTV 50
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RotterdaM 444
Harstem 187
IndyStarCraft 102
Rex 90
BRAT_OK 66
StarCraft: Brood War
Calm 2617
GuemChi 2271
Rain 1783
Horang2 759
BeSt 732
Hyuk 590
Stork 410
Soma 296
Soulkey 238
Mini 234
[ Show more ]
Last 195
Larva 187
Zeus 183
ggaemo 147
Snow 127
Mong 106
Hyun 104
Killer 87
hero 87
Backho 74
Sharp 66
Mind 57
Shinee 50
Yoon 46
Shuttle 45
soO 42
ToSsGirL 40
Barracks 40
Bale 31
ajuk12(nOOB) 17
Icarus 16
[sc1f]eonzerg 15
910 15
Noble 14
Movie 14
GoRush 13
Free 12
zelot 12
Terrorterran 0
Dota 2
XcaliburYe330
NeuroSwarm112
League of Legends
JimRising 371
Counter-Strike
olofmeister1633
x6flipin432
allub224
Other Games
Liquid`RaSZi1277
B2W.Neo856
crisheroes297
XaKoH 211
Hui .113
Mew2King78
ToD67
Organizations
Other Games
gamesdonequick888
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 14 non-featured ]
StarCraft 2
• StrangeGG 4
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Laughngamez YouTube
• Migwel
• sooper7s
StarCraft: Brood War
• iopq 7
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Jankos1541
Upcoming Events
RongYI Cup
23h 19m
Clem vs ShoWTimE
Zoun vs Bunny
Big Brain Bouts
1d 5h
Serral vs TBD
RongYI Cup
1d 23h
SHIN vs Creator
Classic vs Percival
OSC
2 days
BSL 21
2 days
RongYI Cup
2 days
Maru vs Cyan
Solar vs Krystianer
uThermal 2v2 Circuit
3 days
BSL 21
3 days
Wardi Open
4 days
Monday Night Weeklies
4 days
[ Show More ]
OSC
4 days
WardiTV Invitational
5 days
WardiTV Invitational
6 days
The PondCast
6 days
Liquipedia Results

Completed

Proleague 2026-01-20
SC2 All-Star Inv. 2025
NA Kuram Kup

Ongoing

C-Race Season 1
BSL 21 Non-Korean Championship
CSL 2025 WINTER (S19)
KCM Race Survival 2026 Season 1
Rongyi Cup S3
OSC Championship Season 13
Underdog Cup #3
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual
eXTREMESLAND 2025
SL Budapest Major 2025
ESL Impact League Season 8
BLAST Rivals Fall 2025
IEM Chengdu 2025

Upcoming

Escore Tournament S1: W5
Acropolis #4 - TS4
Acropolis #4
IPSL Spring 2026
uThermal 2v2 2026 Main Event
Bellum Gens Elite Stara Zagora 2026
HSC XXVIII
Nations Cup 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League Season 23
ESL Pro League Season 23
PGL Cluj-Napoca 2026
IEM Kraków 2026
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 © 2026 TLnet. All Rights Reserved.