DEV Community

Cover image for Which language would you want to see take over the world?

Which language would you want to see take over the world?

Avalander on October 09, 2018

Let's imagine for a second that we live in a world where all programming languages are equally suited for any task. Performance, memory footprint, ...
Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

None.

(1) No one should be forced to unilaterally use a language they despise the syntax of - for every language, there is someone who has objective reasons to hate the syntax, behavior, or design of it.

(2) Every language is uniquely suited to a particular set of use cases. No language is ubiquitous in its design. Python is ill-suited for systems programming, but C is ill-suited for rapidly designing good interfaces. FORTRAN is superb for scientific computing and advanced math, but it could never fill the shoes of Ruby in web application design; and Ruby could never take FORTRAN's place in scientific computing and advanced math.

I don't want to fall into the trap of presuming my preferences are superior to everyone else's, so I hope no language ever "takes over the world". I'd rather use the ones I know and like (C++, Python, C, FORTRAN) for the tasks they are best suited, and leave the rest alone for the enjoyment and productivity of others.

Collapse
 
mckabue profile image
Kabue Charles

C# - if CSharp can manage to be independent from .NET and compile directly to machine code instead of IL, it could potentially take over the world. However, the fact that .NET is now natively running on Linux and Mac is a good start.

C# architecture is very clean and extensible. Its like JavaScript + Java + C++ but as powerful as python.

Collapse
 
yuripredborskiy profile image
Yuri Predborskiy • Edited

Plain English. So that I could write something like 1+1= and get 2, or 'calculate distance from my location to the moon' and get a sensible answer. And English just happens to be the easiest to learn and most widely used language in the world (in my humble opinion).

If my answer was restricted to programming languages I'd pick javascript. After trying some 6 languages I ended up preferring it for ease of use. Tried python, Java, c++, c#, ruby but preferred js as closest alternative to English. Easy to use and you can build an interactive GUI with it (html+css+js = web app, similar to windows forms app but works anywhere, like java).

Haven't tried lisp yet.

Collapse
 
phlash profile image
Phil Ashby

Wolfram Alpha is quite near this already!

Collapse
 
avalander profile image
Avalander

That's an interesting take, I hadn't considered this perspective :)

Collapse
 
yuripredborskiy profile image
Yuri Predborskiy

Thing is: I love programming, it is like a Lego constructor with tiny pieces, and you can build practically anything with it. It can be considered a type of art. But as a tool it should be both simple and universal, something that doesn't require special knowledge and years of training to use. English is a commonly used language, it is frequently used to give commands and as such it could be considered the most frequently used programming language. And we programmers are a button-mashing walking-talking human-machine interface that translate English into one of the programming languages! :D

It could be just me, though - I started programming because I needed a specific automation tool and my platform of choice offered a simple scripting language, which I just picked up and started hacking. And then it grew on me, but the idea that programming is just a way to get stuff done remains.

Collapse
 
ben profile image
Ben Halpern

Performance, memory footprint, compile time, executable/runtime size and compatibility, and similar factors are entirely irrelevant.

I really feel like I use Ruby for web development despite all these issues already, so I guess that's my answer. On the other hand, I mostly use it for the community/vision/web dev support via Rails. I think the ideal language is one that has a helpful type system and compiler, along with a helpful IDE that everyone uses.

For any language to really work globally, I think it always needs to have first class popular support. I've never been one of those people who wants to use my favorite language in the wrong environment just because there's a tool that lets me do it. I want to be working with the language that's going to get the fastest updates, have most native API features, have the most Stack Overflow answers and DEV discussions, etc.

Collapse
 
jdsteinhauser profile image
Jason Steinhauser

Clojure has been my language of choice for hobby projects for a while now, but I've been slowly starting to love Elixir. Also, I use F# as much as possible in my day-to-day .NET development.

If I could have Clojure's macros, OTP, and F#/OCaml's type system, F#'s type providers... that would probably be an ugly language, but I'd love it!

Collapse
 
roachmd profile image
Michael D Roach

Clojure it's very lisp. It's the future given how fast machine are today.

Collapse
 
bgadrian profile image
Adrian B.G.

None, it would be awful to learn it/work with it, it would have to have a huge degree of constructs and abstract layers to be good at that many things.

But I hope it will have the Engineering productivity of Go.

Collapse
 
avalander profile image
Avalander • Edited

But it's a hypothetical world we're talking about. Bringing in constraints and common sense from the real world makes it boring :P

Collapse
 
bgadrian profile image
Adrian B.G.

In my fantasy world Go already did that :))

Collapse
 
cathodion profile image
Dustin King

Something that was a mashup of Lisp, Python, and Ruby. Something where you could write a quick-n-dirty implementation in Ruby, but then clean it up and turn on strict mode and it would look more like Python (minus some unnecessary punctuation). Also every statement would have an S-Expression equivalent, so you could write macros.

Collapse
 
bokwoon95 profile image
bokwoon95 • Edited

Sounds like Julia to me :p

"..We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell."

julialang.org/blog/2012/02/why-we-...

Collapse
 
cathodion profile image
Dustin King

Looks like it has the kind of macro system I'm talking about. I don't know how I feel about the language as a whole, but I'm glad people are exploring in this direction.

Collapse
 
avalander profile image
Avalander

That would be an interesting language indeed!

Collapse
 
phlash profile image
Phil Ashby

OK, I'll bite :)

An appropriate meta-programming language: one where I (or any other humans - before someone suggests it) don't have to do anything between expressing the problem and getting the solution!

Maybe some combination of voice recognition, intention inference, genetic algorithms and continuous deployment technologies that iterates automatically until I signal that a solution has occurred, possibly by a change of mood being detected... or Skynet showing up.

Collapse
 
thomasjunkos profile image
Thomas Junkツ

Javascript!... oh, wait... 🤔

Collapse
 
noisyedge profile image
Joschua Loth • Edited

In an ideal world, i'd like to have the simplicity of python combined with a type system along the lines of haskell or scala, and the safety of rust. altough, when choosing a language that exists right now, i'd probably go with kotlin (rust being to difficult to use in some areas, and python lacks proper compile checks, and kotlin has at least some levels of null safety)

Collapse
 
qm3ster profile image
Mihail Malo

Performance, memory footprint, compile time, executable/runtime size and compatibility, and similar factors are entirely irrelevant.

But why? Performance, compatibility and compile time are part of ease of use.

So in real life, Rust, because of static analysis, module ecosystem, community, and the above. I can't honestly say the syntax is bad, and some of the constructs are really good. Most importantly, the "personal taste" is achieved by me not feeling the shame of expensive abstractions while still using semantic and ergonomic abstraction.

But if laws of physics were broken, probably Haskell, since I never tried Lisp.

Collapse
 
avalander profile image
Avalander

But why? Performance, compatibility and compile time are part of ease of use.

Because I don't want to hear that C is faster than anything else, Javascript has an npm package for anything you might ever need to do, and Java runs everywhere.

Hypothetically, if I were to create a programming language and I were designing the syntax, knowing what languages developers find elegant, simple, easy to work with and so on, would help me choose a few language's syntax to draw inspiration from. Knowing that someone prefers C because it runs fast and has a small executable size would be largely irrelevant for me.

Collapse
 
qm3ster profile image
Mihail Malo

Java runs everywhere

"runs" is a bit generous, don't you think?
Frankly, at this point, JavaScript might "run" in more places.
But C beats both and I don't see how it won't continue to.

Collapse
 
joelnet profile image
JavaScript Joel

Whatever language skynet is written in. Fuck this world!

Collapse
 
avalander profile image
Avalander

Haha, I kinda expected you to say MojiScript.

Collapse
 
joelnet profile image
JavaScript Joel

lol. Maybe MojiScript and the language that brings on the destruction of the human race are one and the same. Or maybe I have had too much rum. It's probably the latter. Ya let's just say it's the later.

Thread Thread
 
ben profile image
Ben Halpern

Mojiscript takeover

Thread Thread
 
joelnet profile image
JavaScript Joel

This is exactly how I imagined it would go. lol

Thread Thread
 
avalander profile image
Avalander

Let's make it happen, hahaha!

Collapse
 
avalander profile image
Avalander

I'd say it still has a bit to go to take over the world, though. It's virtually unused in OS and embedded systems, for instance. And even though there is ClojureScript, it's not widely used in web programming.

Collapse
 
motss profile image
Rong Sen Ng

Instead of taking over the world, I'd love to see programming languages could come to a consensus in terms of the syntax. At least something like for while loop - while loop is the same in almost all kinds of languages.

Collapse
 
antonrich profile image
Anton • Edited

I want Rust to be Haskell(have Haskell's syntax), or Haskell to be Rust(have cargo, similar performance, similar community).

Collapse
 
qm3ster profile image
Mihail Malo

What exactly are you missing in everyday life of the syntax?

Collapse
 
levitabris profile image
Wei Li

It's difficult if you want to include the candidates that suitable for kids' education. You certainly want to give up some deep design philosophy if it can do its job well. Without that concern, I vote for OCaml for many same reasons you stated above. I'm an advocate for FP as well. Haskell is not perfect option because of its insists on pure functional approach. OCaml, on the other hand, can be more permissive for other programming paradigms.

Collapse
 
ckarakoc profile image
Celal Karakoç
Collapse
 
avalander profile image
Avalander • Edited

Hahaha, it would be awesome/frightening to see all software was written in that!

Collapse
 
juanfrank77 profile image
Juan F Gonzalez

I'm going to say JavaScript and then proceed to run away.

Collapse
 
jvanbruegge profile image
Jan van Brügge

A version of haskell that has dependent types. It would be nice to not have to write unit tests, because your types proof the correctness of your program

Collapse
 
antonrich profile image
Anton

Are people working on that?

Collapse
 
jvanbruegge profile image
Jan van Brügge

Yes, but it will take time. For now we have Idris, Coq and Agda

Collapse
 
avalander profile image
Avalander

Ooh, I didn't know about dependent types, interesting concept!

Collapse
 
kspeakman profile image
Kasey Speakman • Edited

I would like to see Javascript abdicate its throne. But there is more work to do before that can happen, or something worse might fill the power vacuum. :-)

Collapse
 
itisentropy profile image
Mwenimpako P.

I'd go with... Python.

I'm tempted by Golang but I think python just takes it for simplicity, lack of boilerplate, and just well.. love

Collapse
 
rhymes profile image
rhymes

I've been thinking about this and you know I can't find one?

Collapse
 
sethusenthil profile image
Sethu Senthil

JavaScript ... Oh wait NVM. It already took over the world.

Collapse
 
wuriyanto48 profile image
Wury Musobar

golang, rust, and elixir

 
avalander profile image
Avalander

Haha, that is true, but I know at least that Linux is not written in lisp.

Collapse
 
rmoskal profile image
Robert Moskal

Python, a lisp dialect? Now use!

Collapse
 
isaacleimgruber profile image
IsaacLeimgruber

Python is already such a world for data science :)

Collapse
 
youssefrabeiii profile image
Youssef Rabei

Javascript

Collapse
 
cyclonstep profile image
Presteniko Septi Rahadian

Brainfuck. Nothing else.