• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 10:55
CEST 16:55
KST 23:55
  • 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
Serral wins HomeStory Cup 2914Serral wins Maestros of the Game 243ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12
Community News
Balance hotfix patch 5.0.16b (July 16)21Reynor: GSL Loss Wasn't About Preparation Format16[IPSL] Spring 2026 Grand Finals - This Weekend!5Weekly Cups (July 6 - 12): Protoss strike back12BSL Season 22 Full Overview & Conclusion8
StarCraft 2
General
Balance hotfix patch 5.0.16b (July 16) Reynor: GSL Loss Wasn't About Preparation Format Is the larve respawn broken? 5.0.16 patch for SC2 goes live (8 worker start) BGE Stara Zagora to be held again in June 2025
Tourneys
Master Swan Open (Global Bronze-Master 2) WardiTV Summer Cup 2026 GSL CK #5 Race War RSL Revival: Season 6 - Qualifiers and Main Event HomeStory Cup 29
Strategy
[G] Having the right mentality to improve
Custom Maps
New Map Maker - Looking for Advice - Love or Hate Work In Progress Melee Maps [D]RTS in all its shapes and glory <3
External Content
The PondCast: SC2 News & Results Mutation # 534 Burning Evacuation Mutation # 533 Die Together Mutation # 532 Nuclear Family
Brood War
General
BW General Discussion Recommended FPV games (post-KeSPA) Etiquete rules in Asl? Pros Debate: Zerg Unfairly Nerfed? (ASL S22 map) BGH Auto Balance -> http://bghmmr.eu/
Tourneys
Escore Tournament - Season 3 Small VOD Thread 2.0 [IPSL] Spring 2026 Grand Finals - This Weekend! [Megathread] Daily Proleagues
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers Creating a full chart of Zerg builds Relatively freeroll strategies
Other Games
General Games
Path of Exile General RTS Discussion Thread Nintendo Switch Thread Beyond All Reason Stormgate/Frost Giant Megathread
Dota 2
Looking for a Dota Mentor 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
TL Mafia
TL Mafia Power Rank NeO.D_StephenKing vs This Guy From 1 Million Dance TL Mafia Community Thread Vanilla Mini Mafia
Community
General
US Politics Mega-thread The Games Industry And ATVI Russo-Ukrainian War Thread UK Politics Mega-thread YouTube Thread
Fan Clubs
The IdrA Fan Club The HerO Fan Club!
Media & Entertainment
Movie Discussion! Anime Discussion Thread [Req][Books] Good Fantasy/SciFi books Series you have seen recently...
Sports
2024 - 2026 Football Thread MLB/Baseball 2023 McBoner: A hockey love story Tennis[sport] Formula 1 Discussion
World Cup 2022
Tech Support
Simple Questions Simple Answers FPS when play League Of Legend on laptop How to clean a TTe Thermaltake keyboard?
TL Community
Northern Ireland Global Starcraft The Automated Ban List
Blogs
Poker (part 2)
Nebuchad
The Experiences We Want and …
TrAiDoS
An Exploration of th…
waywardstrategy
Gauntlet SC2: A Retrospectiv…
Ctone23
ramps on octagon
StaticNine
Funny Nicknames
LUCKY_NOOB
Evil Gacha Games and the…
ffswowsucks
Customize Sidebar...

Website Feedback

Closed Threads



Active: 6856 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
Germany2597 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
Germany2597 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
Hyrule19228 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
Epic.LAN
13:00
Epic.LAN 48 Group Stage
epiclan0
Liquipedia
CrankTV Team League
11:00
Crank Gathers S4: Group Stage
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RushiSC 44
DenverSC2 3
StarCraft: Brood War
Calm 8563
GuemChi 2281
Rain 2203
Jaedong 1236
EffOrt 803
Hyuk 503
firebathero 351
BeSt 328
Snow 324
Mini 318
[ Show more ]
Rush 268
ZerO 226
Stork 212
Larva 176
ggaemo 130
Zeus 123
Dewaltoss 93
Hyun 87
hero 81
Sea.KH 71
Mong 54
Free 50
soO 43
Sharp 39
scan(afreeca) 37
sorry 34
Barracks 30
JYJ 30
Terrorterran 29
ToSsGirL 27
Sexy 22
Bale 20
NaDa 18
Hm[arnc] 18
Noble 17
Sacsri 16
Rock 15
Yoon 13
yabsab 13
IntoTheRainbow 12
ajuk12(nOOB) 11
Purpose 8
Dota 2
Gorgc9550
syndereN261
Trikslyr26
League of Legends
Doublelift3206
Counter-Strike
byalli987
fl0m488
allub249
kRYSTAL_32
Other Games
singsing1758
hiko717
B2W.Neo689
crisheroes331
XaKoH 167
Liquid`VortiX164
ToD150
QueenE69
Rex20
ZerO(Twitch)15
Organizations
Other Games
gamesdonequick2331
StarCraft 2
WardiTV1039
Other Games
BasetradeTV215
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 15 non-featured ]
StarCraft 2
• poizon28 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• escodisco3717
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• C_a_k_e 1413
League of Legends
• Jankos3654
• TFBlade753
Upcoming Events
Big Brain Bouts
1h 5m
SHIN vs Elazer
Percival vs Nicoract
Reynor vs Lambo
Replay Cast
9h 5m
RSL Revival
18h 5m
Clem vs Lambo
Scarlett vs Cure
CranKy Ducklings
19h 5m
Epic.LAN
22h 5m
IPSL
1d 1h
Dragon vs Hawk
RSL Revival
1d 18h
Classic vs Trap
herO vs SHIN
Sparkling Tuna Cup
1d 19h
OSC
1d 22h
IPSL
2 days
Bonyth vs Ret
[ Show More ]
WardiTV Weekly
2 days
Monday Night Weeklies
3 days
PiGosaur Cup
4 days
The PondCast
4 days
Replay Cast
5 days
CrankTV Team League
5 days
Replay Cast
6 days
CrankTV Team League
6 days
Liquipedia Results

Completed

Proleague 2026-07-13
HSC XXIX
Eternal Conflict S2 E2

Ongoing

IPSL Spring 2026
Acropolis #4
CSL 2026 Summer (S21)
KCM Race Survival 2026 Season 3
Escore Tournament S3: W3
RSL Revival: Season 6
CranK Gathers Season 4: BW vs SC2 Team League
SCTL 2026 Spring
Stake Ranked Episode 3
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026

Upcoming

ASL S22 SEASON OPEN Day 1
Escore Tournament S3: W4
ASL S22 SEASON OPEN Day 2
Escore Tournament S3: W5
CSLAN 4
Blizzard Classic Cup 2026
HSC XXX
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
Light Tournament 2026
Eternal Conflict S2 Finale
Eternal Conflict S2 E3
Logitech G Connect 2026
StarSeries Fall 2026
FISSURE Playground #5
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
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.