Hacker News new | ask | show | jobs
by nareshv 4470 days ago
This was taught to me in college a decade.

"Programming language is just a syntax, the core logic of getting things done is already available in your brain."

Here is what i'd do

A) Remember what you already learnt from your favorite language

  1] Syntax

  2] Libraries

  3] Reference Documentation

  4] Organizing your code

  5] Building / Running Programs

  6] Deploying code to farms of servers (if you are interested in sysops, explore this as well)
B) Once you get a hang of basic syntax, start with Examples and keep making progress.

C) Pick a simple task, from what you have already solved before. Program it in the new language by expanding your skills towards 2-5 points and you are done !

1 comments

"Programming language is just a syntax, the core logic of getting things done is already available in your brain."

Is this actually true, though, when jumping between programming paradigms?

No, it doesn't really hold up. To use an example of where I recently had to change the way I thought of things: you might have, say, an intuitive understanding of the logic to make a series of dependent network requests, any of which could fail, but you'll have to reevaluate that when you try a functional language with monadic futures.
My only experience learning a new language that use a completly different paradigm is Prolog. The syntax and builtins make it hard to write something else that what it is meant for.

Do you mean learning or mastering a language. It is kind of different. Looking for "ideomatic python" will help getting pythonic Python code done.

Not going against the spirit of the language helps.

Well, even just using a language (without mastering it) can be a lot more difficult than simply learning the syntax.

For example, many years ago, before I really got functional programming, I tried to learn ML and while I figured the syntax out very quickly, solving problems in a functional style was a lot more difficult and I found it hard to use the language. Learning to use Python or Ruby or Java or C#, albeit not idiomatically, is a hell of a lot easier.

Of course, knowing a language is a lot more than just learning enough to use it, though you certainly don't have to master a language to know it (and many people will never completely master their languages, despite knowing them quite well and using them effectively - for example, I'd wager few people have truly mastered C++).