Question:
What is the newest, best, powerful language out there?
SoBeIt(3rdaccount)
2011-02-11 21:26:20 UTC
If it comes to being powerful the most powerful is assembly language. But higher languages are made to make them computable in our brains by making easy to understand and grasp syntax. So what is the newest language that does this and do it good.
Groovy,j,io, etc.
Four answers:
Ilie
2011-02-12 06:23:42 UTC
Hi,



I'm not only an operating system designer/developer, but I also write compilers---I'm mentioning this so that you can trust that I have some authority on the subject. Hopefully, I will be helpful in my answer.



The short answer is that there's no such thing. A smart developer needs to pick the right tool for the right task---different languages have different aims and it is impossible to come up with one that is good for everything (e.g., you can't be both declarative and have control over pipeline optimizations). However, that doesn't mean you can't mix more languages in one single project. In fact, that's quite common.



In case you're planning to learn a new programming language, I've prepared a short list explaining the pros and cons of the most popular ones and how they can be mixed with each other so that you can pick out what you feel works best for you:



* Assembly (can be mixed with C and C++). As you've said, this one grants you control of all the CPU features. Most high-level languages are designed to be portable and thus lack CPU-specific features. There are two downsides to assembly language: it's architecture-specific (e.g., ARM assembly is incompatible with x86 assembly) and it takes a long time to write and debug. Only use assembly language when performance or code size are critical or when you want to use a special CPU feature; otherwise it's just a form of premature optimization.



* C (can be mixed with C++ and assembly). The C programming language was designed to be a portable assembly language designed for systems programming. Since then, it has grown to become the standard language of the UNIX world. It's easier to learn than other languages and C compilers produce very good code.



* C++ (can be mixed with C and assembly). This was initially an enhanced version of C but has now grown to the point where C is not a perfect subset of the C++ language (they have many subtle differences). This languages is one of the hardest to learn properly (most people make the mistake of using C++ as C with classes---better use Objective C if that's what you're looking for). Most of its abstractions are considered good but it takes a long time to master. Although it can do the same things as, sometimes C++ compilers produce slightly worse code.



* C# (can be mixed with Python). This is a great language that is technically superior to Java but is unfortunately mostly tied to Windows (due to Microsoft-specific things in the CLI implementation). If you're going to write code in it, you'll probably end up having less bugs because memory management is handled directly by the language via its garbage collection. It also has other very high-level benefits, such as strong type-safety. Most implementations are slow.



* Java. Almost the same description as above applies except the language is not actually as good but the JVM is available for many platforms. If portability is an issue for you, Java is surely one way to go. Most implementations are slow.



* Python (can be mixed with C#). In my opinion, this is the first fit for a first programming language. You almost write pseudocode in it and it to has the benefit of garbage collection. Later on, you'll only want to use it for quick hacking and automation as the language has same serious design flaws (see my other answer on Y! Answers describing them; link below). Most implementations are very slow.



* Perl. This is a braindead language. Alas, it has the big advantage of having one of the laregest collection of libraries (via CPAN)---it can thus be used for pretty much anything. Most implementations are slow.



* Lisp. Although this is theoretically a procedural language, it is almost always used with functional-style programming. It only takes a few minutes to learn and has great power for a certain class of problems. You should learn at least one functional language---it will open new ways of thinking for you.



* Haskell. This is a purely functional language usually used in designing parsers or working on programming language grammars.



* EBNF. Specialized language used for creating lexers and parser generators (i.e., compiler front-ends). Nowadays no one actually writes parsers from scratch anymore.



* OpenCL. A C-like language used for GPUs and GPGPUs (i.e., graphics hardware). Something you definitely want to use in conjunction with OpenGL when you write low-level graphics code.



Cheers,

Bogdan
?
2016-09-11 03:05:44 UTC
Powerful is a complex phrase. Different languages serve specific functions. There is not one ring to rule all of them. You can do just about some thing in C or C++ however I maybe capable to do this equal other thing securely with one line of code in a different language. You have to use the proper device for the task. You have to study a couple of languages without delay... whenever you do that you'll be able to start to capture on extra rapidly and adapt to any language that comes alongside. A sport studio would have an in condominium language. you do not know. at minimal get a CS measure. There's plenty extra to programming than simply understanding a few syntax that you'll be able to Google at any time.
2014-08-07 00:12:14 UTC
Hello,

Ccleaner is the application I use to clean up my system when my pc slows down because of viruses, trojans or malwares. Free Download here: http://bitly.com/UrAQLQ

It's a must have program.
An Angry Retard
2011-02-11 21:27:36 UTC
Perl. One of the easiest programming languages I have dealt with.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...