3 ms·
What if a programmer wants to lean a language and not a domain? Devoid of domain, which systems programming language is easy for beginners? It will be quite an
by m33k44 5y ago
What if a programmer wants to lean a language and not a domain? Devoid of domain, which systems programming language is easy for beginners? It will be quite an ask of a beginner to either work on embedded systems, write device driver, DB driver or compiler. So for beginners, forcing a domain from the start would be counter productive I think.
- PaulHoule 5y agoBeginners tend to overestimate the differences between programming languages and pay attention to superficial things as opposed to things that matter. A good chunk of computer science is a branch of math which is eternal: if there are aliens who live under some the ice on some moon and they have computers they are going to know about the results of Turing and Gödel. A language like Java or C# is perfectly fine for "systems" tasks such as compilers, database engines, etc. You don't need to interact with memory on a low level and you can afford to pay the cost of automated memory management for some guarantee that you don't get use-after-free and similar problems. For that matter if performance doesn't matter you can do a lot in Python, Javascript, and other languages that people think of as "applications" languages. For some other "systems" tasks, such as embedded, you are going to have a choice between C/C--, Assembly and maybe Ada or a Pascal variant if you're adventurous. In that case you need absolute control over memory layout. C has the particular advantage of portability. I think it's an atrocious language to program the AVR-8 arduino but your code is portable to a more powerful board and your skills are portable. Rust has the "borrowing" model that is potentially more efficient than the garbage collection model of languages like Java and gives you some control over the layout. You might like it or you might learn to hate fighting with the borrow checker. What domain you are in absolutely determines what languages you can use.