What programming language does it take to learn? Which programming language should a beginner learn? Which programming language is better? Java virtual machine

💖 Do you like it? Share the link with your friends

Many novice programmers are tormented by the question:

What programming language should I learn?

And they rush from corner to corner, listening to the recommendations of “cool specialists”. Let's start learning Pascal. Then someone will tell them that Pascal sucks, but C++ is cool. They give up Pascal and take up C++. Then someone else will tell them that the coolest thing is Assembler. All. C++ is forgotten, and they are moving to new heights - to the wisdom of Assembler.

Educational programming languages

So you've decided to switch careers and move into technology. Now you're probably wondering which programming language you should learn first! Many languages ​​are object oriented, but they still have a primitive data type. They will have basically everything as an object, but still with exceptions for integers or maybe characters or something else.

Following the principle of least surprise, Matz talks about how languages ​​should be designed for people because people are masters and computers are slaves, not the other way around. This is an important point because he specifically went out of his way to develop a language that was very friendly for humans, rather than being friendly for a machine to understand. The material sounds like English or plain language rather than technical or coding. This makes it very enjoyable for beginners and experts. A high level means it is being extracted from hardware computer. You can speak in terms that are more human and less computer-generated.

  • Focus on people, on how people care about programming.
  • The way you do it should be very unsurprising.
  • High level, pleasant, common language.
  • It has many applications.
  • Very popular among startups.
Ben, did you recognize Ruby first?

At the same time, they forget the main thing:

There are no bad programming languages ​​- there are only bad programmers!

VERY IMPORTANT!
Explore programming, but not programming language!

Because if you are a beginner, then you have no idea where you will work and what programs to write. It is quite possible that your future employer uses Delphi, and maybe Visual C++ or FoxPro. Or in general you will have to develop programs for controllers or CNC machines.

If you try to win this agreement and go your own route, it will be much more difficult. As you can imagine, in the startup world, where startups are constantly pivoting to new ideas and need to deliver features quickly, this was immediately popular. This allows startups to quickly iterate and change their products. Rapid prototyping and popular with startups wanting to iterate quickly. Strongly stubborn, favoring configuration agreement. . Philosophically, everyone thinks this is important.

If you have a chance to go, you should definitely go. Part of that is that it's growing from such a small base. You'll see it listed as all three. More importantly, through Block you have a mentor working with you. You can buy a copy, or you can read it for free online. . The beautiful thing about the mentor course is that it can truly be set for any experience level. If you come to a completely new place, the mentor can calibrate the course for this.

Remember that it only takes a few days for an experienced programmer to learn the basics of a new programming language. That is, switching from Delphi to Visual C++ or vice versa is not so difficult (and not so long). But for this you need be able to program!

If you know a programming language perfectly, but don't know how to program, then what good is that? This is the same as knowing how to hammer nails, but not being able to do it. Why do you need this knowledge if you end up turning to a professional anyway?

If you come with two to three years of experience writing in another language and you're trying to transfer that, your mentor will recalibrate against that background. These are just a few examples. If you are a freelancer, you can use it to find a buddy. These are just examples of what students built in the block. What was the coolest project you saw during your studies?

A student built this live chat app where you could continue chatting and interacting with other people. Regardless of the language the student chooses, the Block mentors you have seen have been the most successful people you have had. Did they all share something that helped them crush the course?

This is precisely why I again say my favorite phrase: there are no bad programming languages, there are only bad programmers.

So you can start learning programming from any language - it doesn’t matter. The main thing in programming is not the language. The main thing is knowledge of algorithms, the ability to think creatively, the ability to search necessary information and so on. And, of course, experience.

The most important thing is to come to the right motivation. Come with a passion to learn, pick up a skill to change your career. Coding is difficult, especially when you first start, it's frustrating. You need an overarching purpose or passion to keep you going. Some had a project they were going to do or a startup idea they wanted to launch. One student was driven by the fact that they wanted to teach teach their children and be involved in their learning and their coding.

Java virtual machine

No matter what you need, you just need to push something forward and give you that passion. A library is just a self-contained piece of code. It takes all the code you need and adds it to your application. What can we do to make sure we really understand the language when we learn it. You can write a few lines of code and you'll get a lot under the hood. You get a lot that is simply given to you, that you don't have to manually install and do. This is good because it's less work for the developer and you can create more impressive things faster.

So don't pay attention to anyone's preferences. If someone likes C++ or C#, then that’s their right. However, this does not mean that a C++ programmer is better than a Visual Basic programmer. It just means that there are different programming languages. Just as it is different ways eating: Asians eat with chopsticks, Europeans eat with forks and spoons. What's worse, what's better? Yes, neither one nor the other. It’s just that some are used to chopsticks, while others are used to spoons and forks.

It can be bad if you don't understand what's going on and you just do it. This is an interesting complaint because it almost feels like it's too strong or too good. It has been given to the community and everyone has an equal opinion on the direction the language should take and how it should evolve. In recognition of all he had done, Guido was elected dictator of Python's life.

Explicit is better than implicit Simple is better than complex Complex is better than complex. . This is a hierarchy of questions for language development. The space actually makes sense, which is actually not the case for most other languages. If you retreat differently, it has a different meaning in the program. It's less heavily used in the startup world, but it has a thumb in corporate stuff. There is a very vibrant crossover community in between. . How about in big data and data science?

Your task is not to learn to eat with chopsticks. And it’s not about learning to eat with a fork.

Your task is not to stay hungry!

Therefore, in some cases you can eat with your hands.

I remind you again. The main thing is the result. And by what means to obtain this result is a matter of preferences and habits. If you are just starting to learn programming, then you do not yet have any habits or preferences. Therefore, you can start with any programming language and any development tools. Since learning the language and development tools is the easiest thing. And in the process of advanced training, you will still have to retrain several times. Because technologies change, new languages ​​appear, etc.

Are these stats libraries the reason people say it's faster? When you look at speed, this is a different category, more similar to language optimization, which starts with at different speeds. Your fastest language will always be one that is compiled down to byte code or object code right on the computer. This makes the development cycle much faster, but they are slower languages. You won't find them used in materials that need to be shouted quickly. Differences aside, there are many similarities.

The same thing happens in the other direction. Did you teach yourself or how did you do it? Again, you can see why both of these languages ​​have a well-deserved reputation for readability and clean syntax and simply being a pleasure for developers to use. It's more advanced, so it's a little more complicated.

Conclusions:

  • Your task is to learn to program, not to learn a programming language (although this will also be required, but this is not the main thing).
  • The simpler your first programming language, the faster you will learn to program.
  • Based on conclusions 1 and 2, we can say that it is better to start with languages ​​that were initially created very easy to learn. Therefore, I recommend that you start with Pascal or Visual Basic.
And if you have not yet subscribed to the “Programming Fundamentals” newsletter, then it’s time to do so: .

Attention! The opinion of the people answering the question
may not coincide with the opinion of the editors.

Which programming languages ​​are more profitable to learn?

This is a more difficult base for beginners because there is more material that you have to cover before you feel comfortable. Another difficulty with this is that the resources for newbies are not as well developed. It is not that the community is massively fragmented or new frameworks are emerging.

This stuff is always worth encountering. There are meetings all over the world for both communities. If they are found here in Boise, they are likely found where people are. It can be very intimidating when you start out because it's scary and like you don't know enough. You would go there and people would be happy. They are very happy that people get into it.



CARTER PAGE

Google technical lead

“SHORT ANSWER: LEARN C OR C++.

You may never have to use it
at work, but you'll learn a lot by mastering it. The most difficult problems that the best programmers face require knowledge of C in one way or another.
Here are some things based on C:

They will have resources and advice. This is similar to what a mentor does for you. Which language is more interesting to learn or learn? Mostly, this is simply because for people going from beginner to language picker, it is by far one of the friendliest. It's just so easy to understand how this happens with in English to the code. Often, making this translation from how people think to how computers think is a complex and difficult process.

Attention! The opinion of the people answering the question may not coincide with the opinion of the editors

You have to train yourself to think differently. There really aren't any things that one or the other can't do. They are both so versatile that they can handle any problem. There are things that both communities chose to focus more on. Overall, they're both so generic that you can do almost anything with either of them. Next steps for a newbie, what should anyone do?

JAVA VIRTUAL MACHINE

MOST OF LINUX

MAC OS X KERNEL

WINDOWS (C AND C++)

ORACLE DATABASE

CISCO ROUTERS

Everything that underlies computer technology, complex in design and greatly affects performance, once created in C - with a small inclusion of assembler.

C will improve your Java skills. You'll understand when a virtual machine uses the stack and when it uses the heap, and what that means. You will intuitively understand how garbage collection works. You will better understand how to use primitive data types and objects.

You can also check out Block courses to see what's available there. For this we have information sessions. She loves breakfast tacos and spends time getting to know bootcamp alumni and founders around the world. However, this is the wrong question to begin with. Most of the language's syntaxes are very similar, but do different things based on the problem domain.

Once you identify the problem, you can start learning different languages ​​that can help you solve the problem. This is an important point for many aspiring software engineers: "Find the right tool for the job." Before we begin, and some may say, “Just jump in.”

C will improve your Python skills. Its class system is largely based on C++. You will learn to write literate, well-organized code, which will make it easier for you to work with it in the future. You will learn to be more careful with global variables.

C will improve your Objective-C skills. You'll learn how to manage reference counting and understand what part of the code should "own" an object. You will be able to avoid memory leaks.

You should feel very comfortable running the operating system of your choice. You must understand the basics of file structure file system. You should be able to install applications in operating system and troubleshoot why this app isn't working.

You should know the basics of the command line and also navigate through command line. If you don't like something like this, getting started can be frustrating. Sometimes things just don't work! There are times when simple things like simply installing packages for a language may not work. You'll need to dig into the operating system to figure out what's going on while trying to understand the cryptic error message. If this doesn't sound like something you're comfortable with, then you should probably stop now!

So which is better - C or C++? I prefer C++ because although they are very close, C++ supports object-oriented programming. Even if you only work with functional languages, object-oriented programming will teach you how to organize code in a way that allows you to create and maintain large projects.

Programming languages ​​and their areas of application

So you've decided to continue, great! There are some examples where you may not even need to learn how to code. These are usually people who just want to create a blog, an e-commerce site or entrepreneurs who want to create new idea launch. Becoming proficient in a language does not guarantee that you can even create a website in the language. If you want to create a website, use technology that already exists.

What programming language should I learn?

Time is the most important commodity, and getting to market early and quickly is more important than learning to code. For entrepreneurs, this point is especially important. If you are a non-technical founder, your area of ​​expertise should be domain, not technical implementation details. While there are stories of founders learning to code and becoming billionaires, these are just outliers. In most cases, it is better and more efficient to find a collaborative engineer or supplier to help you create your idea.

You may not earn as much
as COBOL experts (One of oldest languages programming. - Approx. ed.), which may suddenly be required. But after C you can learn any other language. If in the computer technology industry
and there is constancy, it lies in the following: what is new today may in a few years turn out to be old-fashioned. Learn skills that allow you to acquire new skills, and you will be fine.”



STEFAN ZUCKERMAN

programmer

“If you know how to organize data correctly, it doesn’t matter what language you speak. There are three closely related things you need to know:

Basic data structures and algorithms (linked lists, hash tables, balanced and other search trees, queues and heaps);

Simulation of data obtained from the real world (understanding of the logic of already built models, ability to work with standard and third-party libraries);

Any programming language that you are comfortable with. If you know the language well and can show it in practice, you can earn a lot from it. Write something useful or just cool, and if you are not afraid of criticism (sometimes tough) post the code on the same GitHub. If
If you master one language well, you can learn any other.

In general, I would suggest learning several languages
with different features and levels of abstraction,
since knowing only one language greatly limits you
in approaches to solving any problem.

If we take the highest level, I would recommend one of the following three languages: Perl, Python, Ruby (and as a variant of Lua). They have many useful data structures built into them: hash tables, dynamic arrays and others. They also make work easier
with I/O devices and offer modules
and libraries that allow you to go straight to solving the problem, rather than writing intermediate code that
and so should be included in any modern language programming;

Imperative/procedural language not too low level: C, Go, Fortran (my choice is C);

Imperative/Object Oriented Language: C++, C#, Java, Ada (I would prefer C# because it was created with Java's bugs in mind);

Functional/multi-paradigm language: Objective Caml, Clojure, Common LISP, Erlang, F#, Haskell, Scala, Scheme. I'm leaning towards OCaml and Scala because
their syntax is simpler than the others, although this is, of course, subjective.

Whatever language you choose, learn it really well and gain experience with it. Knowing how to implement a class in Java is great, but if you learn how garbage collection works in Java (or what its disadvantages are), you will become a better programmer. It's good to know that you can use modules in Perl,
but it's a different matter if you realize when they're just interfaces to C code: that means the interpreter doesn't manage memory automatically. And so on".



tell friends