What features should a modern programming language have?
-
The features I'm asking for can not only be evolutionary (some specific features of existing languages) but also revolutionary. Any programming paradigm.
-
Answer:
First class functions. Almost all new languages created in past 10 years have this, *weep for Java*.
Nhan Dao at Quora Visit the source
Other answers
First Class Everything, Baby Undoubtedly, this is the way of the future. Making more stuff first class does nothing but make your programming language more powerful. You start with something like C or Java (pre-8), which have first class almost-nothing, and explode from there. Add first-class functions (and a ton of other stuff you can read about ) and you get languages like Haskell and the entire functional programming paradigm. Start making everything objects and making it all first class with decorators and extremely liberal syntax and you get Python. These languages are far more expressive and far more powerful than something like Java, because you can easily encapsulate and repeat design and execution patterns. If your language is really cool, you can even write abstractions on top of those patterns to get really amazing stuff. The rabbit hole goes much deeper, though. Adding first class functions and classes is a start, but there's much more you can do. Ask any Lisp programmer what his or her favorite thing about Lisp is, or what the most powerful thing about Lisp is, and they'll tell you Macros. Macros are a function of making the very language itself a first class object. Macros let you manipulate not just execution patterns, but entire program types. The more things you make first class, the more you can change and abstract and encapsulate to make your code clearer and easier to manage. With first class functions you can create higher order functions or monads, with first class classes and objects you can use decorators, with first class expressions you can modify your language on the fly. Ultimately, these are just higher levels of abstraction - calling something first class lets you build better abstractions on it. Better abstractions -> more productivity and cleaner, more concise and easily manageable code.
Jonathan Reem
Not exactly language features, but there should be three things built into language: Standard build tools Standard package management system Standard deployment tools
Riyad Parvez
HIgh level of abstraction to implement domain processes and structures.
Alex S. Constâncio
If speed is at all important, a http://en.wikipedia.org/wiki/Memory_model_(programming) for threading to allow the language to take advantage of parallel platforms is essential.
Alexander Duchene
Related Q & A:
- What are the common usage of python programming language?Best solution by quora.com
- What are the main features of a community web site?Best solution by cardinalgroup.ca
- What are the features of a Pontiac Firefly?Best solution by Yahoo! Answers
- What programming language would be appropriate for better job opportunities?Best solution by quora.com
- Is java or visual basic a machine level, low level, high level or binary level programming language?Best solution by Quora
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.