Live data from Hacker News

Ask HN: What does it mean to learn a new programming language?

news.ycombinator.com

1–10 of 18 posts

Ask HN: What does it mean to learn a new programming language?

#1
When I pick a new language to learn, I can pickup the basic types, control, syntax etc. in a few hours and write basic programs while referencing the language docs/tutorials. I can also write few mid sized programs while learning about the standard library in a few days of learning a language. But often times the programs written aren't the most efficient in terms of the programming language. One example is learning c after working with a grabage collected language like python tend to not use pointers and instead make multiple copies of the same data i.e not use one of the better features of the language. So does the programmer know C?

Re: Ask HN: What does it mean to learn a new programming language?

#2
It’s been said that a diehard ForTran programmer can write ForTran code using any programming language.

I’m sure this applies to any language that a diehard programmer chooses to focus upon.

It would be nice to have a idea what techniques a language focuses on providing. Perhaps some kind of Rosetta Code site might be a place to pint this kind of information.

Re: Ask HN: What does it mean to learn a new programming language?

#3
learning a new language means you will learn two more new languages next year. eventually you will reach age 40 and be exhausted. i refused to learn new languages for many years and i’m doing ok. there is no need to learn new languages. specializing is a valid option. your post illustrates how only learning python or java or similar languages that hide complexity can make you ignorant of the machine and the reality you are dealing with. i believe anyone should learn C and know how to use pointers.

Re: Ask HN: What does it mean to learn a new programming language?

#4
post #3

learning a new language means you will learn two more new languages next year. eventually you will reach age 40 and be exhausted. i refused to learn new languages for many years and i’m doing ok. there is no need to learn new languages. specializing is a valid option. your post illustrates how only learning python or java or similar languages that hide complexity can make you ignorant of the machine and the reality y…

Why bother with C? Use the assembly language and then hop back up to a high level language like modern C++ (14 at least, 17 or 20 preferred) that let you stay very high level but pop down to hardware manipulation as necessary.

Re: Ask HN: What does it mean to learn a new programming language?

#6
What does it mean to learn a human language? A simple grasp can take a very short time while appreciating the subtlety of a novel could take years.

Also this process can provide enlightenment about your native language. If you speak an info-European tongue, to pick one up that lacks adjectives and adverbs, or the verb to be, can cause you to see your own language in a new light.

Likewise learning a production language, or a strongly typed language when you only knew weakly typed ones can provide many an “aha” moment that could improve your use of your primary programming language.

Re: Ask HN: What does it mean to learn a new programming language?

#8
What does it mean to learn a natural language? Absolutely nothing unless you have a significant understanding of it to be useful. Its like how people “know” tens of second languages without very much fluency in any of them to be useful besides bragging. I suppose because programming is easier to learn this might not be true.

Re: Ask HN: What does it mean to learn a new programming language?

#9
post #7

I would say that when you know the strengths and weak spots in a language and can program to take advantage of the former and avoid the latter, then you know the language. Syntax and operators is not enough.

Reading code written by experienced programmers helps you learn the idiomatic ways of using a language.

With regards to C, I learnt it by reading John Lion's annotated listings of Unix v6. It was far more educational than just working through K&R C. Although the latter was helpful in unravelling the logic underlying some of the more complicated constructs.

With regards to Python and C, C pointers to structs are comparable to passing objects by reference. Different syntax, similar semantics.

Re: Ask HN: What does it mean to learn a new programming language?

#10
post #2

It’s been said that a diehard ForTran programmer can write ForTran code using any programming language. I’m sure this applies to any language that a diehard programmer chooses to focus upon. It would be nice to have a idea what techniques a language focuses on providing. Perhaps some kind of Rosetta Code site might be a place to pint this kind of information.

I have had to write string manipulation code in FORTRAN77 - an absolute pain. Moving to C was a relief.
Post reply on HN