TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Programming language innovation - Is it dying?

16 pointsby sundar22inover 13 years ago
All the new programming languages I hear recently does not seem to be innovative. They are just mixing and matching old language features borrowed from dynamic/functional programming languages. Is there any new programming language which brought any new feature/concept which is not available in languages like Lisp, Haskell, Python etc?

10 comments

jballancover 13 years ago
For a PL theorist/purist, there may not be much new under the sun. However, for "real" programmers (I kid) there is a lot more to programming languages than the theory.<p>A programming language is not just a means to formulate instructions for a computer to execute. It is also a way for programmers to communicate with each other and, taken further, a way for customer desires to translate into computer actions. I would agree that, viewed as instructions for a computer, not much new has come about in the last 10-15 years.<p>What has developed more recently are all the new ways that programmers are discovering or creating to communicate via code. TDD/BDD/RDD, literate programming, module systems baked into the language, optional typing, parameterized types, etc. are all features that, while not necessarily entirely new from a theory standpoint, are creating new ways for programmers to signal intent.<p>A good example of this at work is the recent resurgence in functional languages. These have, literally, been around since the very first programming languages were created, but they have never really "caught on" (for some value of "caught on"). I would suspect that part of the problem is that it has traditionally been more than a little difficult for someone not used to functional programming to approach the code. So, I would argue that the most important recent advances in the FP space have less to do with type inference, lazy evaluation, or correctness provability, and more to do with clearly communicating intent.
chaosgameover 13 years ago
Very few languages are truly groundbreaking. Most are simply refinements of existing ideas (doesn't necessarily mean that they're not a step forward). If you're interested in something earth-shatteringly different, you're going to need to look into programming language research to find it (One great reference that could probably answer this question better is <a href="http://lambda-the-ultimate.org/" rel="nofollow">http://lambda-the-ultimate.org/</a>).<p>For examples of a recent-ish language that was developed by a professor at UIUC, see <a href="http://maude.cs.uiuc.edu/" rel="nofollow">http://maude.cs.uiuc.edu/</a>, which is based on rewriting logic and is currently still being developed/refined. But even that has strong ties to a previous language OBJ by the same creator.<p>If you're interested in learning something really different but a bit easier/more fun, I would strongly recommend Prolog. Schapiro has a great book (<a href="http://www.amazon.com/Art-Prolog-Second-Programming-Techniques/dp/0262193388" rel="nofollow">http://www.amazon.com/Art-Prolog-Second-Programming-Techniqu...</a>).
评论 #3278190 未加载
rayinerover 13 years ago
I think to the contrary, programming language design as an area is flourishing now more than it has in a couple of decades. The availability of the JVM and JS as targets are freeing people up to experiment with lot's of different languages. Sure a lot of the things in these languages have been seen in some form before, but because there is so much cross-interaction between language features, putting things together in tasteful and elegant ways can be very innovative in the PL context.<p>It's easy to forget that Lisp, Haskell, Python, etc, didn't just spring forth fully formed. I read a great history of Lisp recently: <a href="http://www.dreamsongs.com/NewFiles/Hopl2.pdf" rel="nofollow">http://www.dreamsongs.com/NewFiles/Hopl2.pdf</a>. A lot of the features in Common Lisp we take for granted today were the product of various dialects and splinters of Lisp over the years.
carsongrossover 13 years ago
I can say that, with Gosu, our goal is not to be innovative with syntax or semantics. Rather, our goal is to make common patterns today easier to deal with.<p>As an example: the open type system allows developers to mix various resources (xml files, wsdl files, json/jschema files, etc.) along side the gosu code, and access it all in a type-safe, easy-to-tool manner. This isn't particularly innovative from an academic perspective: there are no theories at work here, just some practitioners trying to make our lives easier. On the other hand, it is a very nice advancement for day-to-day coding.<p>As a broad generalization, I think that the technology community over-prioritizes innovation: I believe it would be more productive for most people to take the best ideas of the past and get on with the laborious task of sanding down and perfecting the implementations.
slavahover 13 years ago
I think the problem is more about visibility, adoption and becoming industry usable language (community, framework, library, learning curve, etc.) then being groundbreaking. Language being too innovative and too different from mindset of developers in my opinion would create barriers for adoption. Take a look at functional reactive languages and value they offer for web or even to regular UI scenarios (<a href="http://lambda-the-ultimate.org/node/2057" rel="nofollow">http://lambda-the-ultimate.org/node/2057</a>). There are a lot of research and real world languages done, but adoption rate is really low. On another hand if you do hit a sweet spot by simplifying existing scenarios and piggybacking on some popular concepts (example of node.js library using JS and simplifying web developers workflow) you instantly get adoption and visibility.
loupgaroublondover 13 years ago
Most of it's been covered here, but another point is that for every mainstream language that doesn't seem to be so revolutionary, there are lots of little languages that never made it. In order for there to be lots of innovation, we also need lots of iterative steps in languages. This helps the less than genius programmer, the ones that get that templates in C++ are good, but would never bother learning lisp, get the new ideas in incremental steps.<p>Also, something you see quite a lot is innovative concepts built onto existing languages via libraries that then get integrated into new languages.
Detrusover 13 years ago
The recent trend in languages like Go is not bad. The intention is to make you productive. It's a new direction that programming languages should explore more. Instead of CS theory emphasize psychological theory, since it's still humans that program.<p>And note the human reaction to yet another language like Dart. Many of the programming languages they've tried promised the moon, but turned out didn't have huge effects on general productivity. Libs, frameworks, idioms, testing approaches etc, have a bigger impact.
munafover 13 years ago
As an Interaction Designer, I'd love to see a language that was built using UX methods and patterns (e.g. user research, usability testing, designing for visual perception). It probably won't produce linguistic innovations, but it could be a way to advance productivity and developer experience.
dseminaraover 13 years ago
Flow! <a href="http://www.flowlang.net/" rel="nofollow">http://www.flowlang.net/</a>
marshallpover 13 years ago
constraint programming (mozart/oz)<p>actor model (erlang,mozart/oz)<p>More generally, see peter norvig's talks on youtube where he talks about data being more agile than programming. The new frontier in computing is using data to get things done. Programming language researchers, bless their hearts, are nice people, but won't add to much computing in the future.
评论 #3278180 未加载