Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

What Is the Programming Language of the Future?

DZone's Guide to

What Is the Programming Language of the Future?

When your career is software development, knowing the 'language of the future' is important. But is the language of the future even invented yet?

· Agile Zone
Free Resource

Discover how to build scalable and maintainable UI tests to optimize your Agile workflow. Brought to you in partnership with TestComplete by SmartBear.

A lot of developers ask me about the programming language of the future. They expect me to use my expertise to predict the future and tell them about the programming language of the future, hoping that they will start to specialize in such a language.

However, this question leaves us with some other interpretations: is there such a thing as a programming language of the future? I strongly believe that there will be a programming language of the future but we don't know it yet. The reason I say that is because I think all programming languages are converging into the same spectrum of functionality, making it useless to have a lot of programming things doing the same stuff.

So, do you wanna know what is programming language of the future?

Watch this video and find out!

Transcript Of The Video

John Sonmez: 

Hey, what's up? John Sonmez from simpleprogrammer.com. I got a question here that—I get this question quite a bit. I'm going to try to answer this at least in one way. There's probably a few different ways I could answer this question, but it is: “What is the programming language of the future?” I'll read the question I got here. He says, “Hi John, let me first thank you a lot for doing what you do. I watch your videos daily and you're really such an inspiration.” Well, that's cool. Thank you. He says, “My Erik from Stockholm Sweden. I'm 22 at the moment and I'm studying computer science in college. Prior to this, I've worked as a freelancer within web development but I wanted to broaden my programming experience, so I hit the books. Right now I'm testing out all sorts of different development, from building apps in Swift, learning Java, and right now low-level C. My intention is to try and learn as much as possible, but I still feel like I want to specialize in some type of language and really master it. I'm also really interested in AI, artificial intelligence, but don't really know where to start. My questions to you are: What is your take on the future of programming languages? What would you consider the most essential to master not only for now but in terms of the future? Do you have any experience with AI development or know where to start?” I'm going to skip the AI development question and I'm just going to answer the programming language of the future question.

I think that the programming language of the future has actually not been invented yet. I don't think we have that yet. I think that what we've got right now is we've got a lot of languages that are evolving towards it but they're evolving in complexity to the point that we need a simplification. A lot of times what ends up happening with technology is we end up having sort of this pile up where we build up these huge things and then we have this massive collapse as a new level of abstraction is put down on top of it and it sort of paves over it and now we can simplify things, right?

The reason why I say that is that because languages like C# and Java have become very bloated. They're very good languages and they're very expressive. You can do a lot with them even some things like—even Ruby and Python and whatnot. We've got a lot of different things. We've got a lot of concepts where—I mean if you think about it, I'll just pick on one that I know which is C# which is we've essentially taken the language of C# and we've added a lot of functional programming to it. You can essentially do functional programming in C#. You could write C# code that is purely functional and that's sort of—if you think about all the different keywords, all the different things and C# keeps on growing that's a lot of stuff. We've kind of hit this point where you can do anything, but is that really what we need? What we need is to simplify.

We need to take all those concepts as we're learning, as we're evolving these languages and we eventually need to come up with a language that is going to be a little bit more universal. There's really no reason why we have to have so many programming languages. Right now, almost all programming languages are converging to this point where they all are kind of on par with what they can do functional wise. If you look again, some of the ones that I'm more familiar with, I know that C# now can do a lot. You can write functional in it. You can do a similar kind of coding that you would do with F# or Haskell or one of those other functional lisp and functional languages.

At the same time, Java has also developed now functional programming. You can do purely Java or functional programming in Java. I saw a Hacker News article where someone was writing about how they were doing purely functional programming in Java. It was a little bit of a bastardization of it but, hey, I could see that happening. C# and Java are almost equivalent. Java started getting all these features that were being innovated in C#.

I think that there's really no reason why we have to have all these different programming languages at this point because they're all kind of able to do everything. Now there are some specialized languages and I understand the argument for that. So maybe there'll be a few different specialized languages but we really need to come to a point where we have a general purpose programming language that we just use, that everyone uses and it gets developed and is simplified because there's just—there's no reason, right? There used to be a reason why we had all these specialized languages and they existed for specific purposes. There are still, like I said, to some degree languages like R and whatnot, but even those I think we can really collapse under one programming language and that will make things a lot more effective for the future because we don't have to learn as many things. There are not as many gaps between communication.

That's what I think is that I think we're heading towards this point. I think we'll eventually have a language that dominates. I think we're still early in the development of software development as a career, as a profession, as a science, if you will, and that that we'll eventually hit that. Just like mathematics has a standard mathematical notation. I mean there were a bunch of different ones and now there's just one way in general. I mean maybe there's a couple, but there's one general way that we do mathematics and we write down—we have different symbols that we utilize and we pretty much standardize on that. I think that programming is no different that we'll eventually find that and we just haven't found that yet.

As for today, I really couldn't say what programming language that I would recommend. I did a video on the most popular programming languages for 2017. You can check that one out if you're curious what my thoughts are on that. It changes from day to day. We've got a lot of fluctuation. JavaScript is still probably a pretty good bet at this point to hitch your wagon to and Python is also one of those ones that I think that I see really increasing. Its' really hard to say at this point because we still have this very much diversified field of programming languages out there. I do hope that we do converge on one though. I do think that's the future. I can't see us having just this many programming languages that are now all becoming closer and closer to functionally equivalent. It just doesn't make sense. If you can do the same stuff you can do in C# and Java and Python and Ruby and all the other programming languages why have so many of them and make things so confusing? But you know what, technology is never—it doesn't always follow the straightforward path that I would like it to.

Overcome the weakest link in your automated testing cycle to increase test speed and coverage. Brought to you in partnership with TestComplete by SmartBear.

Topics:
agile ,programming languages ,devlife

Published at DZone with permission of John Sonmez, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}