• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 07:03
CEST 13:03
KST 20:03
  • 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 Maestros of the Game 238ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12TL.net Map Contest #22 - Voting & Ladder Map Selection7
Community News
BSL Season 22 Full Overview & Conclusion5BSL Season 22 Full Overview & Conclusion5Weekly Cups (June 29-July 5): Solar Doubles0MC vs IdrA, Boxer vs Nal_rA to be Legacy Matches @ BlizzCon445.0.16 Hotfix (June 30) - Balance + Bug Fixes40
StarCraft 2
General
Most successful SC2 players of Q2 2026 Serral wins Maestros of the Game 2 MC vs IdrA, Boxer vs Nal_rA to be Legacy Matches @ BlizzCon Is the larve respawn broken? 5.0.16 patch for SC2 goes live (8 worker start)
Tourneys
GSL CK #5 Race War RSL Revival: Season 6 - Qualifiers and Main Event HomeStory Cup 29 Vespene Cup #1 — $300+ USD, July 10 Sea Duckling Open (Global, Bronze-Diamond)
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
Mutation # 533 Die Together The PondCast: SC2 News & Results Mutation # 532 Nuclear Family Mutation # 531 Experimental Artillery
Brood War
General
ASL 22 Proposed Map Pool ASL22 General Discussion BW General Discussion BGH Auto Balance -> http://bghmmr.eu/ BSL Season 22 Full Overview & Conclusion
Tourneys
[ASL22] Wildcard Qualifier [Megathread] Daily Proleagues IPSL Spring 2026 Top 4! CSLAN 4 is Coming!
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers Creating a full chart of Zerg builds Relatively freeroll strategies
Other Games
General Games
Summer Games Done Quick 2026! General RTS Discussion Thread Nintendo Switch Thread Stormgate/Frost Giant Megathread Dawn of War IV
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
NeO.D_StephenKing vs This Guy From 1 Million Dance TL Mafia Community Thread TL Mafia Power Rank Vanilla Mini Mafia
Community
General
Russo-Ukrainian War Thread US Politics Mega-thread UK Politics Mega-thread YouTube Thread Canadian Politics Mega-thread
Fan Clubs
The IdrA Fan Club The HerO Fan Club!
Media & Entertainment
Anime Discussion Thread Movie Discussion! Series you have seen recently...
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Tennis[sport] Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
FPS when play League Of Legend on laptop How to clean a TTe Thermaltake keyboard? Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
Major Shifts in the Gaming I…
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: 6575 users

The Big Programming Thread - Page 363

Forum Index > General Forum
Post a Reply
Prev 1 361 362 363 364 365 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.
Kambing
Profile Joined May 2010
United States1176 Posts
September 30 2013 22:55 GMT
#7241
On October 01 2013 07:44 RoyGBiv_13 wrote:
cross post from HN today that is relevant to the topic of the Big Programming Thread's weekly programming language + Show Spoiler +
circlejerk
discussion.
http://pastebin.com/ed1pP9Ak

Doesn't really matter what language you start with, or targeting which platforms or structures. Like most things in life, hours put in programming varies directly with the competence and skill of the programmer. What really matters most is learning how to learn.
Chances are, if you don't put in the effort required to excel, you'll end up somewhere in software middle-management.


From that post:


It is now time to conclude this long-winded rant. I would like to end with a piece of advice for those who are thinking of becoming a software engineer. My advice would be - do not become a "software engineer". I know there is a lot of demand right now, but 1) the demand won't last forever; 2) most of the "software engineer" jobs are boring as shit.

If you really like programming, try to specialize. Like algorithms? You can be a computer scientist. You can become a systems programmer and develop OS internals. Try digging through Linux source code. If you're into programming languages, you can get into writing compilers. I hear LLVM is amazing. If you like graphics, dust off those math books and get good OpenGL tutorial. Whatever you do, don't just be a generic "software engineer". It sucks bad.


Can't emphasize this enough. Computer science is such a vast field that it's almost impossible not to find something that piques your interest to specialize in as long as you are hunting. It makes you more appealing on the job market, and it helps give you the motivation to slog through the rough patches.
Azerbaijan
Profile Blog Joined January 2010
United States660 Posts
September 30 2013 23:44 GMT
#7242
On October 01 2013 07:15 Abominous wrote:
Show nested quote +
On October 01 2013 07:07 darkness wrote:
On October 01 2013 05:10 Abominous wrote:
On September 30 2013 21:11 Azerbaijan wrote:
On September 30 2013 20:29 Birdie wrote:
On September 30 2013 20:16 Ilikestarcraft wrote:
Not surprised then that they managed to follow along. How'd did those "imbeciles" do in CS 102 which I'm guessing is like a data structures in C course?

In hindsight imbeciles is perhaps too strong a word. They're not particularly...techy/geeky though, basically ordinary people who had barely touched program settings let alone programmed anything before. They're doing well enough in 102. 102 covers binary/hex, the memory space, how the CPU and registers process data, pointers, compilation, and so on. From what I'm told the second and third years are significantly more difficult than the first year, as the first year is used to get non-programmers up to speed.

What are the CS courses like where you're from?


Nearly every four year CS program in the US uses java. If its not java its usually python/.net. I talk with a lot with people who are 5-6 semesters ahead of me and nearly finished; most have never seen hex or pointers and other low level concepts; they also won't stop telling me that everything should be an object. Maybe I'm weird but I kind of wish I could have gone to school back when CS programs had 60% dropout rates and there was more science in computer science. I shouldn't complain; I am at a good school but java just feels so shallow in that you don't really have to dig in much to be a competent java programmer. I think a decent C programmer would run circles around a decent java programmer if he spent a few days learning java; I don't think it would be work out the same the other way around.

CS is way way way more than simple programming. Broaden your horizons, I did and I'd never do any kind of trivial OO programming ever again. :D


I don't think he implies Computer Science is just programming. Of course Computer Science is about algorithms, theory, data structures, etc. I think he just says that CS degrees are too focused on programming nowadays.

Nobody stops him from taking interest in artificial intelligence, theoretical computer science, computer security or any other specialisation within CS.

It's just that most programming jobs require CS degrees, so most students go there to grab a degree and find a job so the unis adapted.

Personally, I'm all for a more scientific approach and as someone mentioned earlier writing down those "old" programs in C was a tremendous effort and I'm not a fan of programming nowadays, it has lost its charm, almost everyone can do it with these higher level languages and low understanding of the depth behind it leading to unoptimized applications because of deadlines and a market where a good GUI is more valuable than the product itself. Back in the days, programming had scientific background, now kids fresh out of high school are typing lines of code knowing what it does but not why and how. Face it, programming has become trivial.


EDIT: All of the above is the reason I personally dislike programming nowadays, I'm more of a science nerd as you can see, but to be fair, it's not all bad news with the changes I mentioned above.


I am aware that CS is about a lot more than I mentioned in my post. I suppose I am just a bit bitter because I enjoy C but I do not enjoy Java but it is my school's choice for most of my degree. I think I really would have enjoyed CS back when C was an industry standard and all its minutiae an essential part of your average CS degree. I guess in general I have trouble enjoying oop. I would rather solve issues related to dynamic memory management and pointers than issues with classes and inheritance. I don't hate oop and I appreciate it's strengths but I do get extremely frustrated when its taught as the one correct way to do things. I have talked to a lot of CS graduates who have never heard of lisp or functional programming and cannot comprehend the idea that something is NOT an object; I even met one guy who didn't know that Java syntax is a C based . I am generalizing a lot here but I don't anyone will deny that there a lot of serious problems with the way most schools are teaching CS these days.
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
September 30 2013 23:53 GMT
#7243
On September 30 2013 18:30 CorsairHero wrote:
Show nested quote +
On September 30 2013 13:37 Blisse wrote:
Did anyone invest in a pair of good monitors? I think I'm finally at the point where I can justify going out and buying two nice 27" high quality monitors... I can't live like this lol http://i.imgur.com/iytArKe.jpg

Why not just get 2 24" 1200p monitors? 27 seems like overkill unless the screen is quite far away..


My workplace has dual mirrored 27" and I often find myself wanting the other 27" for random stuff like design assets, reference or using the emulator. Plus, my current monitors have the worst colour reproduction I've ever experienced which makes any sort of design work a huge question mark.

I finally feel like I'm at the point where I legitimately have a reason to get bigger monitors rather than just wanting something more.
There is no one like you in the universe.
CorsairHero
Profile Joined December 2008
Canada9491 Posts
October 01 2013 02:04 GMT
#7244
On October 01 2013 08:53 Blisse wrote:
Show nested quote +
On September 30 2013 18:30 CorsairHero wrote:
On September 30 2013 13:37 Blisse wrote:
Did anyone invest in a pair of good monitors? I think I'm finally at the point where I can justify going out and buying two nice 27" high quality monitors... I can't live like this lol http://i.imgur.com/iytArKe.jpg

Why not just get 2 24" 1200p monitors? 27 seems like overkill unless the screen is quite far away..


My workplace has dual mirrored 27" and I often find myself wanting the other 27" for random stuff like design assets, reference or using the emulator. Plus, my current monitors have the worst colour reproduction I've ever experienced which makes any sort of design work a huge question mark.

I finally feel like I'm at the point where I legitimately have a reason to get bigger monitors rather than just wanting something more.


I see. Well if price isn't a concern here:

http://www.amazon.com/dp/B0039648BO/?tag=googhydr-20&hvadid=15202261461&hvpos=1t1&hvexid=&hvnetw=g&hvrand=15458988971605050752&hvpone=&hvptwo=&hvqmt=e&hvdev=c&ref=pd_sl_7xfdu70pp4_e

While I haven't used this monitor specifically, I've had positive experiences with other models from the U series. Back when I was looking up monitors (22" to 24") The Dell U series seemed to have the most positive reviews.
© Current year.
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
October 01 2013 02:13 GMT
#7245
Canada whoo, so Amazon is no go. Shipping and brokerage is deadly. I've been staring at the U2713HM for a while, hopefully waiting until it drops under $550, can't believe I didn't pull the trigger then.
There is no one like you in the universe.
ObliviousNA
Profile Joined March 2011
United States535 Posts
Last Edited: 2013-10-01 02:29:59
October 01 2013 02:26 GMT
#7246
I just got twin U2713hms. Yes they're expensive, but they're practically orgasmic to code on. SO much screen space it's ridiculous. Excellent color, crisp text. You need good eyes with win7 DPI scaling though. The ones I got from Amazon (mini sale last week, 600 instead of 630) were revision A00 July '13, totally defect free. They seem to have fixed their QC issues, at least for their distribution centers delivering to CA.

I'd recommend them to anyone doing serious coding, if they can afford it.

My monitors:
+ Show Spoiler +

bb code? http://i.imgur.com/Ea2kBjs.jpg
[image loading]

Theory is when you know everything but nothing works. Practice is when everything works but no one knows why. In our lab, theory and practice are combined: nothing works and no one knows why.
Abominous
Profile Joined March 2013
Croatia1625 Posts
October 01 2013 06:03 GMT
#7247
On October 01 2013 07:46 Kambing wrote:
Show nested quote +
On October 01 2013 07:15 Abominous wrote:Back in the days, programming had scientific background, now kids fresh out of high school are typing lines of code knowing what it does but not why and how. Face it, programming has become trivial.


Those two sentences contradict each other. If kids are writing code that they don't understand, then programming is far from trivial. What can be said is that, we're still learning how to effectively teach it when the ground underneath us changes rapidly.

They understand the code, not the work behind it. And in todays world, 90% of programmers do not need to understand what's going on behind and why.
Creepseep
Profile Joined July 2012
Germany9 Posts
October 01 2013 06:18 GMT
#7248
On October 01 2013 15:03 Abominous wrote:
Show nested quote +
On October 01 2013 07:46 Kambing wrote:
On October 01 2013 07:15 Abominous wrote:Back in the days, programming had scientific background, now kids fresh out of high school are typing lines of code knowing what it does but not why and how. Face it, programming has become trivial.


Those two sentences contradict each other. If kids are writing code that they don't understand, then programming is far from trivial. What can be said is that, we're still learning how to effectively teach it when the ground underneath us changes rapidly.

They understand the code, not the work behind it. And in todays world, 90% of programmers do not need to understand what's going on behind and why.


You don't get what todays software development is all about. Of course you're right stating some kids may be able to write quite a few applications on their own. But todays programmers mostly do not develop kinda small applications on their own but working on huge software systems in which you have to be aware of possible race conditions, concurrencies, ... and implement every little aspect with the greater system in mind. That's the difference.
Tobberoth
Profile Joined August 2010
Sweden6375 Posts
October 01 2013 06:21 GMT
#7249
On October 01 2013 15:03 Abominous wrote:
Show nested quote +
On October 01 2013 07:46 Kambing wrote:
On October 01 2013 07:15 Abominous wrote:Back in the days, programming had scientific background, now kids fresh out of high school are typing lines of code knowing what it does but not why and how. Face it, programming has become trivial.


Those two sentences contradict each other. If kids are writing code that they don't understand, then programming is far from trivial. What can be said is that, we're still learning how to effectively teach it when the ground underneath us changes rapidly.

They understand the code, not the work behind it. And in todays world, 90% of programmers do not need to understand what's going on behind and why.

Just like programmers in the old days didn't have to know exactly how a CPU is wired electronically.

It's just another level of abstraction. It gives more power to programmers at lesser cost, but the actual problem-solving is the same. One the one hand, you can be pissed that someone can, for example, make a flash game more advanced that NES games with less than half the knowledge of the people making the actual NES games... on the other hand, you can appreciate that the programmers of those days could not make modern games with the tools at hand.

Yeah, simple shit is easier to make today, but the difference between a bad and good programmer isn't shown in simple things. The level you have to perform at to be considered a really good programmer today has simply been raised, it's not enough to be able to do some sweet optimization on a sorting algorithm, you have to be able to juggle big code bases and far more calculations per second.
Manit0u
Profile Blog Joined August 2004
Poland17786 Posts
Last Edited: 2013-10-01 06:52:41
October 01 2013 06:50 GMT
#7250
Heh, you guys have it good. Discussing C and Java as learning platforms...

When I was in highschool they forced us to learn in Turbo Pascal, what an atrocity this was. I had to learn some C myself, then moved on to C++ and LPC. Personally, I think that it doesn't really matter what will be your first programming language, as long as you learn it well switching to and learning others will be much easier (most of the time, I'd very much love to get into Python but I love my braces too much, even though I understand how it works I refuse to do it the "python way"). Although python might be great for beginners since it's relatively easy to learn and it at least teaches you proper code formatting (and there's nothing worse than having to work with someone who is very poor at that).
Time is precious. Waste it wisely.
Soohyung
Profile Joined April 2012
Korea (South)116 Posts
October 01 2013 12:43 GMT
#7251
On October 01 2013 15:50 Manit0u wrote:
Heh, you guys have it good. Discussing C and Java as learning platforms...

When I was in highschool they forced us to learn in Turbo Pascal, what an atrocity this was. I had to learn some C myself, then moved on to C++ and LPC. Personally, I think that it doesn't really matter what will be your first programming language, as long as you learn it well switching to and learning others will be much easier (most of the time, I'd very much love to get into Python but I love my braces too much, even though I understand how it works I refuse to do it the "python way"). Although python might be great for beginners since it's relatively easy to learn and it at least teaches you proper code formatting (and there's nothing worse than having to work with someone who is very poor at that).

I had to program in Object Pascal last year which wasn't really fun or good either... I guess I'm just gonna go ahead and learn a real language now.
이지은
tec27
Profile Blog Joined June 2004
United States3702 Posts
October 01 2013 21:48 GMT
#7252
Object Pascal is a fine language; its the first language I did anything substantial in. There's also a ton of useful Starcraft utilities that have been written in it (e.g. ChaosLauncher). It certainly counts as a real language.
Can you jam with the console cowboys in cyberspace?
Roe
Profile Blog Joined June 2010
Canada6002 Posts
October 01 2013 22:12 GMT
#7253
On October 01 2013 11:26 ObliviousNA wrote:
I just got twin U2713hms. Yes they're expensive, but they're practically orgasmic to code on. SO much screen space it's ridiculous. Excellent color, crisp text. You need good eyes with win7 DPI scaling though. The ones I got from Amazon (mini sale last week, 600 instead of 630) were revision A00 July '13, totally defect free. They seem to have fixed their QC issues, at least for their distribution centers delivering to CA.

I'd recommend them to anyone doing serious coding, if they can afford it.

My monitors:
+ Show Spoiler +

bb code? http://i.imgur.com/Ea2kBjs.jpg
[image loading]



just testing if I can tell which languages those are off-hand, was that C# on the left, and C++ on the right?
Yoshi-
Profile Joined October 2008
Germany10227 Posts
Last Edited: 2013-10-01 22:37:00
October 01 2013 22:17 GMT
#7254
That is not c++, the main function returns void, which is normally not allowed, because most of the times that is just wrong, but he also uses void as a parameter, so seems like C for some not standard compiler/system(if not he and the compiler who allows that should be shot)

E: Okay MSVC actual compiles void main(), but unless there is an actual reason to use that(which I kinda doubt) don't use it.
misirlou
Profile Joined June 2010
Portugal3304 Posts
October 01 2013 22:19 GMT
#7255
My high school started programming with Pascal and my university starts with Scheme. Overall I think both are good languages to start giving your baby steps before you start sprinting on java or c++.
DeltaX
Profile Joined August 2011
United States287 Posts
October 01 2013 22:31 GMT
#7256
I actually think the reason a lot of programs start you off with an underused language and fairly simple language (mine was scheme) is so they can focus more on concepts than on the language itself. With C++, you will have a harder time getting through the basics, and the class might want to look at other areas of programming like html/css if it is an intro course. This could provide a nice foundation for programming concepts while being as accessible as possible as an intro class. The second programming class I took was much more intense than the intro class (C++ with lots of lab time in addition to normal classwork).
billy5000
Profile Blog Joined December 2010
United States865 Posts
October 01 2013 23:28 GMT
#7257
Like many others, my school uses java also. I've learned some languages that are more suitable for the web (php, node.js), but now I'm looking for an all-purpose language for everyday tasks and ideas. I actually wouldn't mind java for this, but having some experience with other "more up-to-date" languages such as scala and python, java doesn't cut it for me. It's just not an elegant language--the same reason why I'm not looking to pick up C for a general purpose language. And the reason why I'm not continuing with python is that the code can get really funky when you want to implement algorithms in its idiomatic way (also, I'm still not used to looking at a heavily nested code with just indents).

So far I thinking about Go, but I was wondering if you guys had other suggestions.
Tiger got to hunt, bird got to fly; Man got to sit and wonder, 'Why, why, why?' Tiger got to sleep, bird got to land; Man got to tell himself he understand. Vonnegut
misirlou
Profile Joined June 2010
Portugal3304 Posts
October 01 2013 23:55 GMT
#7258
On October 02 2013 08:28 billy5000 wrote:
Like many others, my school uses java also. I've learned some languages that are more suitable for the web (php, node.js), but now I'm looking for an all-purpose language for everyday tasks and ideas. I actually wouldn't mind java for this, but having some experience with other "more up-to-date" languages such as scala and python, java doesn't cut it for me. It's just not an elegant language--the same reason why I'm not looking to pick up C for a general purpose language. And the reason why I'm not continuing with python is that the code can get really funky when you want to implement algorithms in its idiomatic way (also, I'm still not used to looking at a heavily nested code with just indents).

So far I thinking about Go, but I was wondering if you guys had other suggestions.


Maybe look into C# and .Net if you want to have easy access to a GUI, not much different from java or c++. I love node and php (and i hate ruby, and by extension, rails) but I dont get to code much web stuff.
But if you want elegant, nothing better than plain C. Its just beautiful how it works so flawlessly
sluggaslamoo
Profile Blog Joined November 2009
Australia4494 Posts
Last Edited: 2013-10-02 00:56:18
October 02 2013 00:52 GMT
#7259
On October 01 2013 15:21 Tobberoth wrote:
Show nested quote +
On October 01 2013 15:03 Abominous wrote:
On October 01 2013 07:46 Kambing wrote:
On October 01 2013 07:15 Abominous wrote:Back in the days, programming had scientific background, now kids fresh out of high school are typing lines of code knowing what it does but not why and how. Face it, programming has become trivial.


Those two sentences contradict each other. If kids are writing code that they don't understand, then programming is far from trivial. What can be said is that, we're still learning how to effectively teach it when the ground underneath us changes rapidly.

They understand the code, not the work behind it. And in todays world, 90% of programmers do not need to understand what's going on behind and why.

Just like programmers in the old days didn't have to know exactly how a CPU is wired electronically.

It's just another level of abstraction. It gives more power to programmers at lesser cost, but the actual problem-solving is the same. One the one hand, you can be pissed that someone can, for example, make a flash game more advanced that NES games with less than half the knowledge of the people making the actual NES games... on the other hand, you can appreciate that the programmers of those days could not make modern games with the tools at hand.

Yeah, simple shit is easier to make today, but the difference between a bad and good programmer isn't shown in simple things. The level you have to perform at to be considered a really good programmer today has simply been raised, it's not enough to be able to do some sweet optimization on a sorting algorithm, you have to be able to juggle big code bases and far more calculations per second.


Then why start with Java. Why not use Haskell?

1. Its a "higher level of abstraction" to Java.
2. You can write things with less code.
3. You can problem solve better with Haskell
4. You don't have to worry about memory management as much as Java

Here's a quicksort implementation in Java

Java
+ Show Spoiler +


package de.vogella.algorithms.sort.quicksort;

public class Quicksort {
private int[] numbers;
private int number;

public void sort(int[] values) {
if (values ==null || values.length==0){
return;
}
this.numbers = values;
number = values.length;
quicksort(0, number - 1);
}

private void quicksort(int low, int high) {
int i = low, j = high;
int pivot = numbers[low + (high-low)/2];

while (i <= j) {
while (numbers[i] < pivot) {
i++;
}
while (numbers[j] > pivot) {
j--;
}

if (i <= j) {
exchange(i, j);
i++;
j--;
}
}

if (low < j)
quicksort(low, j);
if (i < high)
quicksort(i, high);
}

private void exchange(int i, int j) {
int temp = numbers[i];
numbers[i] = numbers[j];
numbers[j] = temp;
}
}



Here's the same function converted to Haskell
qsort (p:xs) = qsort [x | x<-xs, x<p] ++ [p] ++ qsort [x | x<-xs, x>=p]


Ok fine ill be nice
quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater)
where
lesser = filter (< p) xs
greater = filter (>= p) xs


If you are going to mention that people shouldn't start on advanced concepts like functional programming as a beginner I am going to say well beginners shouldn't be starting with OO either for the exact same reason.

If you are going to say the Haskell implementation is more complicated because as a beginner its too cryptic, well then lets look at something trivial like Hello world.

Java
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}


C
main() {
printf("Hello World");
}


Haskell
putStrLn "Hello, World!"


Note that Java is the most complicated of the lot.

Note that it would take an equivalent amount of time to explain what "class" and "static void" mean, than it would to explain any terminology in Haskell. I'm not saying that we should use Haskell to teach beginners, I am showing the illogical reasoning behind teaching Java as a first language and exposing the silliness of the argument with the example of Haskell.

I'm not saying people should learn how a CPU is wired, because you don't need to know that to program, however you need to know Structured Programming to write good OOP code. You don't use assembly or binary in programming, but you always use Structured Programming no matter what, and without learning Structured Programming you are missing out on an essential fundamental platform with which you should base all your programming on.
Come play Android Netrunner - http://www.teamliquid.net/forum/viewmessage.php?topic_id=409008
Kambing
Profile Joined May 2010
United States1176 Posts
Last Edited: 2013-10-02 01:07:01
October 02 2013 01:05 GMT
#7260
On October 02 2013 09:52 sluggaslamoo wrote:
Show nested quote +
On October 01 2013 15:21 Tobberoth wrote:
On October 01 2013 15:03 Abominous wrote:
On October 01 2013 07:46 Kambing wrote:
On October 01 2013 07:15 Abominous wrote:Back in the days, programming had scientific background, now kids fresh out of high school are typing lines of code knowing what it does but not why and how. Face it, programming has become trivial.


Those two sentences contradict each other. If kids are writing code that they don't understand, then programming is far from trivial. What can be said is that, we're still learning how to effectively teach it when the ground underneath us changes rapidly.

They understand the code, not the work behind it. And in todays world, 90% of programmers do not need to understand what's going on behind and why.

Just like programmers in the old days didn't have to know exactly how a CPU is wired electronically.

It's just another level of abstraction. It gives more power to programmers at lesser cost, but the actual problem-solving is the same. One the one hand, you can be pissed that someone can, for example, make a flash game more advanced that NES games with less than half the knowledge of the people making the actual NES games... on the other hand, you can appreciate that the programmers of those days could not make modern games with the tools at hand.

Yeah, simple shit is easier to make today, but the difference between a bad and good programmer isn't shown in simple things. The level you have to perform at to be considered a really good programmer today has simply been raised, it's not enough to be able to do some sweet optimization on a sorting algorithm, you have to be able to juggle big code bases and far more calculations per second.


Then why start with Java. Why not use Haskell?

1. Its a "higher level of abstraction" to Java.
2. You can write things with less code.
3. You can problem solve better with Haskell
4. You don't have to worry about memory management as much as Java

...


Some people would argue that Haskell meets those goals better than Java. For example, I would be in that camp. The problem is that Haskell is not as accepted in industry as Java (and other alternatives) which is a detriment for most people.
Prev 1 361 362 363 364 365 1032 Next
Please log in or register to reply.
Live Events Refresh
Sparkling Tuna Cup
10:00
Weekly #137
SHIN vs ShamelessLIVE!
CranKy Ducklings66
CranKy Ducklings SOOP7
LiquipediaDiscussion
RSL Revival
09:00
Season 6 - Group B
Solar vs NightMareLIVE!
Maru vs TBD
Tasteless1267
Ryung 713
IntoTheiNu 359
TKL 228
IndyStarCraft 210
Rex125
3DClanTV 59
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Tasteless 1267
Ryung 713
TKL 228
IndyStarCraft 210
Rex 125
ProTech42
Livibee 22
MindelVK 0
StarCraft: Brood War
Britney 25820
Calm 7721
Bisu 1408
Hyuk 599
Shuttle 469
Horang2 438
Jaedong 417
Soma 270
BeSt 256
Mini 165
[ Show more ]
Stork 160
Last 130
actioN 129
Soulkey 127
Mong 126
EffOrt 98
hero 78
Light 74
Larva 72
Sharp 37
ZerO 37
ToSsGirL 36
Mind 36
scan(afreeca) 32
soO 32
Aegong 29
sSak 27
Killer 27
sorry 22
yabsab 21
Free 21
HiyA 20
Hm[arnc] 18
Sacsri 14
JulyZerg 10
Noble 9
Purpose 8
ajuk12(nOOB) 7
Dota 2
Gorgc1814
League of Legends
Doublelift2506
JimRising 609
Counter-Strike
x6flipin335
Sick188
Other Games
FrodaN2042
DeMusliM235
crisheroes206
Pyrionflax157
B2W.Neo135
KnowMe59
RuFF_SC226
ZerO(Twitch)12
Organizations
StarCraft: Brood War
lovetv 13
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 11 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Jankos2797
Upcoming Events
IPSL
4h 58m
Bonyth vs Hawk
GSL
23h 58m
Replay Cast
1d 12h
WardiTV Weekly
1d 23h
The PondCast
2 days
Replay Cast
3 days
CrankTV Team League
3 days
Replay Cast
4 days
CrankTV Team League
4 days
Replay Cast
5 days
[ Show More ]
RSL Revival
5 days
Clem vs Lambo
Scarlett vs Cure
CranKy Ducklings
5 days
RSL Revival
6 days
Classic vs Trap
herO vs SHIN
Sparkling Tuna Cup
6 days
Liquipedia Results

Completed

ASL Season 22: Wild Card Qualifier
HSC XXIX
Eternal Conflict S2 E1

Ongoing

IPSL Spring 2026
Acropolis #4
YSL S3
CSL 2026 Summer (S21)
RSL Revival: Season 6
CranK Gathers Season 4: BW vs SC2 Team League
SCTL 2026 Spring
Eternal Conflict S2 E2
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
BLAST Rivals Spring 2026

Upcoming

Escore Tournament S3: W3
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
Stake Ranked Episode 3
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...

Disclosure: This page contains affiliate marketing links that support TLnet.

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.