If you know C and keep up with the news you should already have a good guess.
Name:
Anonymous2012-07-04 14:44
none of those will
Name:
Anonymous2012-07-04 14:56
While most of those languages are improvements over existing ones (D > C++, Go > C), they're not _enough_ of an improvement to make companies switch and face the massive upheaval of rewriting code bases, finding new libraries, retraining staff etc.
The industry is typically slow to move onto any new language, unless:
a) A major software company pushes it, like C#
b) A key piece of software is written in it, the way shitty PHP has some very notable software
As for F# - functional programming is never going to be more than an academic niche, because of the bottom feeders which make up 90% of corporate programmers.
Name:
Anonymous2012-07-04 14:58
People will keep using C++ or a close variant thereof until they make computers that explicitly forbid it.
>>3 functional programming is never going to be more than an academic niche
Probably for the better. At least fp libraries will remain much better quality than all the ENTERPRISE Java WebServerClientRequestFactoryFactory code.
D will, D does everything C++ does but is safe and still fast
F# is just ML
I dont see C programmers leaving C for a garbage collected version of C with Go
R is just a strange version of Lisp
Name:
Anonymous2012-07-04 15:10
>>7
The R you mean is the statistical programming language? I'm only vaguely familiar with it through work, where some scientists in a different field write appalling code in it.
I'm sure it's fine at its intended purpose, hardly going to "take off" though.
Name:
Anonymous2012-07-04 15:12
If history has taught us anything, the quality of the programming language doesn't matter, as much as appearing at the right time and filling a niche.
Personally I'm partial to Ada, but have no delusions it's ever going to be popular because of problems during the languages infancy.
Name:
Anonymous2012-07-04 15:19
R is a DSL for statisticians, of course it won't take over mainstream computing, but it has already taken over statistics (followed closely by Matlab and then Mathematica or whatever it is called).
Name:
Anonymous2012-07-04 15:30
>>1
None of those. Not Javascript, or Java, or Scala, or Haskell, or Python, or C++, or any of that nonsense either. Common Lisp and Scheme are dead too in terms of adoption, but in death they are reborn anew.
People who are focused mostly on web development and toy project development have proverbial horse blinders on and are for the most part incapable of seeing the future.
The future is not object-oriented.
It will be a combination of structured, procedural, functional, logic/declarative, data-oriented, and domain-oriented. Parallelism will be conquered as heterogeneous computing, task-orientation and grid-orientation parallelism go mainstream.
C and OpenCL will dominate the low-end. OpenCL is really just C99 with SIMD/SIMT vector intrinsics and an API for task/grid parallelism and heterogeneous-compute allowing you to run the same code on different CPU/GPU/FPGA/accelerator architectures attached to a common bus. The next major point release of OpenCL will add a common ISA or bytecode IR, making it easier for language developers to write their own DSLs or even general purpose languages that also target OpenCL.
I imagine we will probably see a statically compiled Clojure/Lisp-like language that targets the OpenCL stack in the future, as well as perhaps something based off of Go or Python with less object orientation and stupid concurrency models (or in Python's case, the complete absence of). The Go-like will probably become the most popular.
Any language that tries to solve concurrency with just actors, STM (software transactional memory), continuations, and coroutines will ultimately fail in adoption uptake as it won't be able to approach the raw scalability of task/grid orientation on immutable data structures and simple lock-free/wait-free concurrenct queues which is the OpenCL model.
Name:
Anonymous2012-07-04 15:33
>>12
God damnit, when Larry told me that computing was more fashion oriented than high fashion I knew he was right.
Name:
Anonymous2012-07-04 15:40
>>12
Quite frankly, it sounds like you're pulling buzzwords out of your ass.
OpenCL is overkill for 99% of programming tasks, as is C.
Name:
Anonymous2012-07-04 15:46
>>12
much of what you say about concurrency is correct, but the fact that you choose C99 as a solution to concurrency is an absolute joke
Name:
Anonymous2012-07-04 15:51
>>13
The fad of object-orientation is the outcome of 4 decades of socialism and neo-Marxism infecting the science and engineering fields. The masses are just beginning to come to terms with the idea that OOP doesn't really solve half the shit it claims to do. Even the guy who coined "object-oriented" apologized for coming up with the name and ideology. OOP is now well on the decline and I imagine we'll see the continued fallout for the remainder of the decade.
Yes, a lot of personal computing will continue to be doable with the current crop of bloated object-oriented languages running on shitty VMs. A lot of these languages are good at scripting and acting as adequate shell alternatives.
But your personal toy project needs don't matter.
All I'm doing is following Moore's Law to its conclusion. As computer hardware slows, software optimization will become more and more important. And having the right languages and tools will be key. The hardware will never be fast enough. Object-oriented languages have no hope for salvation here.
Miniaturization of devices and the desire to drive down power consumption and operation costs will further motivate developers to increase software efficiency.
Strong AI applied to industrial automation will require languages capable of processing lots and lots of data simultaneously. It'll be pretty mainstream in the near future.
>>15
Did you miss the part where I mentioned Clojure/Lisp-like on OpenCL, or a Go-like on OpenCL? OpenCL isn't just a language, it's a low-level platform which distills some things from LLVM (the OpenCL ISA will probably resemble LLVM IR bytecode).
I said C and OpenCL will dominate the low-level languages, just as C has dominated low-level languages these past three decades. It's not going anywhere. At all. We'll still be using C 20 years down the road. Library abstractions solve concurrency, albeit in an unsafe manner.
Higher level languages designed to take advantage of the OpenCL feature set and concurrency models will make it easier for mere mortals to "get shit done."
Name:
Anonymous2012-07-04 16:09
>>17
I meant As the rate of computer hardware performance efficiency slows
Name:
Anonymous2012-07-04 16:30
>>17
>Miniaturization of devices and the desire to drive down power consumption and operation costs will further motivate developers to increase software efficiency.
Maybe you're talking about more miniaturized devices than smartphones, but if we use that as an example power consumption has gone up (and bigger batteries in place to compensate), and software efficiency has not gone up, as programmers are spoiled with high-level OO languages still.
Name:
Anonymous2012-07-04 16:33
>>17 Strong AI ...
Mainstream? there's not even a strong AI that's niche at the moment.
>>18
What if, rather than slowing, it just stays at the relatively same level to where it is now instead, perhaps a bit better?
Name:
Anonymous2012-07-04 16:45
>>20
>Mainstream? there's not even a strong AI that's niche at the moment.
Siri and IBM Watson. The self-driving car is on the horizon.
As for Moore's Law continuing indefinitely, that's a physical impossibility. We haven't had major single-core performance increases in the last decade, except that which was mined out with instruction level parallelism. Any future improvements here will be very minor and incremental.
I think we must have different interpretations of AI. Speech recognition and recognizing linguistics are clever stuff, but not impressive in the AI sense.
Name:
Anonymous2012-07-04 17:00
Lol U GUys talking about AI? I want machines to take over the world like in Terminator. That would be awesome. Is there any hope of something like that happening? Or machines learning to build more machines from raw materials and creating all sorts of monsters that make use incomprehensible laws of physics as weapons. Machines learning to make use of nuclear physics, then quantum mechanics, etc.. I WANT ALL THAT SHIT TO SPICE UP MY BORING LIFE.
Name:
Anonymous2012-07-04 17:04
>>21
Siri is not strong AI. She has severe technical and cognitive limitations that are not very apparent but can still be discovered through inquiry.
I'm not privy to understanding how IBM Watson is designed to think but I should hope a strong AI would be insulted to have been put on show like a stage animal. Even if that show is Jeopardy.
Is it hard to ask for a strong AI that doesn't tout it's greatest strength is a knowledge base system?
Name:
Anonymous2012-07-04 17:05
>>22
People seem to think that AI should be this elusive magic that somehow can't be done with mere algorithms, and they expect super-human AGI agents. Sorry, it's all done with algorithms, even the AGI level stuff will be done with algorithms. Everything in the Universe that exists and can exist is computable and can be described through general computation.
Name:
Anonymous2012-07-04 17:15
People seem to think that AI should be this elusive magic
I don't think that, I know that AI is elusive fucking magic, because that's how I define the concept of AI. If it ain't hypercomputation, it's shit. And if hypercomputation doesn't exist, then everything is shit.
>>26
Then that means you don't think humans are naturally evolved strong AI agents, but rather just on the level of ad-hoc specialized AI processes.
Either that, or you believe in magic like the soul or some quantum crackpot theory of intelligence.
Name:
Anonymous2012-07-04 17:21
>>27
Immutability of data is actually good for something. Object orientation is just good for creating more work and justifying more useless jobs for people.
Name:
Anonymous2012-07-04 17:23
>>26
Hypercomputation, if it exists, is still computation and will be describable through formal systems. It will still be algorithmic in nature.
>>29
What is your point? Both OO and FP are short lived fads, you might have noticed that the most popular language in the world has very poor support for both.
>>34
COBOL isn't the most popular language in the world.
Name:
Anonymous2012-07-04 18:01
>>31
I've done some SURF and statistical clustering work in the past. That video made me rock hard. It also gave me some good ideas for massively scalable pattern matching of arbitrary objects against a huge database.
I think given the right hardware, I could devise a robotic sentry gun that could detect Hasidic Jews within visible range and discriminate them from other humans and fire upon them when identified.
Name:
Anonymous2012-07-04 20:06
>>31
Strongly doubt state of art AI could simulate even a cat level intelligence.
The closest would be Go because of corporate backing, though Go's most apparent predecessor is all but forgotten and that was with Bell Labs, at least the way variables are declared aren't PASKAL style.
D still has ways to go to make itself safer, despite the safe function tagging, most of the standard libraries don't have many of the functions tagged.
F# and R fill in pre-existing niches, the typed FP (MLs, Clean Haskell, etc) and calculator-on-roids (APL/J, MATLAB, Fortran) niches. Those niches won't overtake anything.
None of them will be mainstream unless "$Language in 24 hours" books are printed for them. Most people learn some particular language to score some particular job downtown, newbs with ample motivation use the first thing they get their hands on (VB6 now C#, the various game BASICs, sometimes C++).
Name:
Anonymous2012-07-05 16:24
Python is way overrated simply because people dont bother to look at the alternatives. The thing that makes Python look nice is its indentation delimiting which makes the syntax look very psuedocode-like. But you take that away and you are left with a scripting language with very inconsistent syntax. Guido designed Python in a piecemiel fashion by simply adding features that users requested, there was no overall plan for the language. So if you compare Python to Ruby you see basic syntax like loops and branch statements dont follow a consistent pattern. Even worse is the OO in Python which is very messy and implemented with a bunch of underscore functions. Javascript is even more consistent as it just uses C syntax, so if you know C, you already know most of Javascript. The prototype OO is outstanding, simple yet powerful. It avoids having to define classes but is not as weak and crippled as Lua tables. Perl is a very good language but requires a long time to fully take in all of its idiosyncrasies, but becomes very powerful once youve learned it well.
Name:
Anonymous2012-07-05 19:48
HANK, YA GOT PROPANE IN YA URETHRA AGAIN!
Name:
502012-07-05 19:49
*perverted laughter* Well I'm sorry Mr. Strickland, I'll be more careful next time.
Since being king of the hill is pretty much a popularity contest, Python will be it. Just look at unis, CS 101 classes, both online and offline, you'll find Python. This is what will end up in the hearts and minds of future generation of programmers.
Name:
Anonymous2012-07-05 22:01
>>49 Perl
"The task of parsing Perl is divided between lex, yacc, smoke, and mirrors."