Discussion: What programming language to learn? - Programming - HWzone Forums
Skip to content
  • Create an account
  • About Us

    Hello Guest!

    Please note - in order to participate in our community, comment and open new discussions, you must join as a registered member.

    Our members enjoy many advantages, including the ability to participate in discussions, enjoy raffles and promotions for members of the site, and receive our weekly content directly by email.

    Do not like being harassed by email? You can register for the site but do not submit your registration to the weekly email updates.

Discussion: What programming language to learn?


Recommended Posts


About once a week the question arises which programming language to learn, and where to start. So I decided to open this discussion where you can express your opinion on the subject.

For programming resources, please enter the following discussions:

Upper languages ​​(Java, C / C ++, Python, etc.)

Web Development (HTML, JavaScript, CSS, PHP, etc.)

These are my two agorot on the subject:

First and foremost it is important to remember the sentence: Programming language is a tool, not a goal. the goal is program, So it is less important what language you learn, and more important to understand and internalize the programming principles. A good programmer will know to deal with new languages ​​easily, when all he will have to learn is this new syntax of language. Because the capabilities of popular languages ​​today are quite similar in their abilities (this is because they are general purpose languages ​​- languages ​​designed to write any program, not just programs of a particular type) the considerations for choosing the language should come from how easy it is to work with the language, how easy it is to learn, Correct programming principles.

My main recommendation is to start learning one of the three languages: Python, Java or #C. All three are modern languages, with memory-management objects and a very wide user base.

Python is a very easy and easy language to learn with very flexible syntax rules. These flexible rules make it possible to learn it quickly and turn it into a very readable language (ie reading only the code can be easily understood), and allow programmers to focus on algorithmics instead of engaging in "exercise". However, this flexibility is a double-edged sword, because it can also give the programmer incorrect programming habits. I recommend starting from this language for those who want to get a taste of the programming world, and write simple programs quickly and efficiently.

Java and C # are two very similar languages ​​(#C has been inspired by Java). Both resemble C ++ in their syntax, but the similarity ends, and they are much more comfortable and powerful languages ​​(despite the name, there is no relationship between C ++ and C #). Unlike Python, they have much more rigid syntax rules, which in my opinion will help to give you correct programming habits. Both have free development environments (Eclipse for Java, Visual Studio Express for #C) and dozens, if not hundreds, of web directories. Note that since languages ​​are constantly developing and improving, it is better to learn from an up-to-date manual, at least than 2005-6 (more specifically, at least from 5.0 version of Java or 2.0 version of #C). Personally, I prefer the #C language for several reasons - it contains several more powerful tools than Java, It constantly updates and makes improvements, and its standard package is wider and easy to use (for example, writing GUI - much easier in C # than in Java). By contrast, Java is a cross-platform (ie it can be used in any , Not just windows) and is more free to use (most of the language is open source) and is therefore more common in university studies.

Contrary to what many say, I recommend not starting from C or C ++ (or, heaven forbid, learning C and then "moving" to C ++). They teach more how the computer really works by translating it directly into the language of the machine that runs on the processor without an intermediate language, and they use direct access to memory without any management and are still the most popular languages ​​in the software development market, but are more difficult to learn and maintain , Programmers have to deal a lot with the "jiffa" around programming, and it can very easily deter new programmers.

In addition, it is important to note whether you want to learn a programming language for a specific purpose. For example, if you want to learn to program for cell phones, then you may want to learn Java (or Android-based) or Objective-C (a C-based language by which you write to iOS). If you want to develop websites , Then learn the appropriate languages ​​- HTML + CSS (for building and designing sites) and then JavaScript and a server side language (PHP, ASP.NET, etc.) to build dynamic sites.

Another important detail: As with any subject in the field of computers, it is important to know English at a reasonable level. Although there are books and tutorials on the web in Hebrew that teach programming, but usually their level is less than that of their friends in English, they are not updated, or they deal only with basic subjects, so they are good for beginners but will no longer fit the programmer who wants to learn more advanced topics.

Edited By Schnitzel
Link to content
Share on other sites

I think that the age of the student must also be taken into consideration.

Right, and that's why young students will recommend starting with Python (and not Basic). Interpreter also allows you to run code and get results right away, which I think gives a more enjoyable learning experience.

Besides, there is no connection between the language being interpreted and the fact that there is no need to define variables (these are two distinct characteristics of the language, although many times the languages ​​that sustain one hold the other). For example, Visual Basic is a language in which there is no need to define variables in advance, but it is not explicit.

Link to content
Share on other sites

  • 4 weeks later ...

Sorry for the double post, I see that no one is responding here ..

In any case, my question is why not choose Python, according to the requirements I wrote earlier?

I do not have time for this, but I'm free to learn programming language. I want to learn one and make a right choice before I start plowing. I have some background in C

So I want something with the requirements I wrote up, and I thought why not Python?

Link to content
Share on other sites

Python will also match what you're looking for. I explained in the first message why I think Java is preferable, but it's a matter of personal preference. In my opinion, Java provides better programming habits, and it is easier to build large ones (though there are many who disagree with me).

Link to content
Share on other sites

Join the discussion

You can then join the discussion and then join our community. If you already have an account with us, please Log in now To comment under your username.
Note that: The comment will appear to the surfers after approval by the board management team.

Add a comment

×   The content pasted is with formatting.   Remove formatting

  Only 75 emoji are allowed.

×   Your link has been automatically assimilated.   Show as regular link

×   Your previous content has been automatically restored.   Clear all

×   You can not paste images directly. Upload or insert images from URL.


  • Latest news

  • Buzz-Zone: Everything hot on the net

  • Create new ...

At the top of the news:

new on the site

Now it's official: the comeback of the GeForce RTX 2060

Now it's official: the comeback of the GeForce RTX 2060

The intermediate model from the Turing generation adopts the number of active units in its refreshed super version, equipped with double the volume of graphic memory - and goes out to provide a solution to some of the constant demand for more and more video cards