Hacker News new | ask | show | jobs
by rmangi 4870 days ago
While I applaud anyone trying to get into software development I find it hard to believe that in 2011 "the resources available to a new student developer were limited". I'd also object to ruby being the best first language for someone to learn. Maybe you had trouble getting advice as to where to look to get started, but the internet is full of folks who are eager to give you their 2 cents on that topic. As far as ruby goes, nothing against the language but I personally think it's much more difficult to learn than java or c# which have more applications, a wider audience (and hence more material to read) and better support in terms of IDEs. They are also syntactically much easier for newbies.

That said, I congratulate you on your new found love of programming and your willingness to share the knowledge.

2 comments

My only problem with Java and C# as beginner languages that starting off takes so much understanding or glossing over of details. In Java, it's a class with "public static main void" before anything will work.

PHP or Python are a better way to start because "hello world" is literally a line or two of code.

That said, I always recommend Python over PHP because it enforces good a habits from day one. Once you learn the skills and concepts, working in the much looser PHP environment is safer.

"java or c#...are also syntactically much easier [than Ruby] for newbies."

Wait, what?

Yes. Ruby reminds me of perl. Too many #@$ characters with special meaning.
the syntax is much more regular and more verbose, but that can be a good thing. The regularity means that it's easier to remember what's supposed to come next/how to do something, and the verbosity means that there's less obfuscated phrases.

Granted, ruby and python aren't as bad as perl, but they definitely aren't as regular as java either.

Of course, once you start getting into advanced topics, all that can go out the window, but at that point we aren't talking about a newbie anymore, so what we/they will expect from a language will be different.

> Granted, ruby and python aren't as bad as perl, but they definitely aren't as regular as java either.

I wouldn't mix those two when making a comparison to Perl.

As an example, there are like four different ways to write a simple 'if' statement in Ruby, with some blurring the difference between that statement and conditional expression (ternary operator in C-like languages). In Python, there is just one 'if' statement which is also clearly distinct from 'if-else' conditional expression.