Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Language of the future.

Options
13»

Comments

  • Closed Accounts Posts: 503 ✭✭✭OMcGovern


    We'll be using quantum computers in the future, so I guess there'll be a Q++ language.

    Or maybe manipulating an array of schrodingers cats, killing a certain amount of them to input data into the quantum computer.


  • Registered Users Posts: 16,288 ✭✭✭✭ntlbell


    What do you guys think will be the main language going forward into the future? We are being told it will be java. But wouldn't c or c++ be better as it can be more efficient as it does not run in a virtual machine??


    http://lolcode.com/


  • Registered Users Posts: 6,316 ✭✭✭OfflerCrocGod


    The question was "the main language" that does not preclude other languages for the 1500 people who felt the need to point out that no language has ever or will ever be the One True Language. As for the most important languages to have in the future I think it's pretty much what is important right now - sorry very boring I know.

    Java (or C# same thing)
    JavaScript (this includes HTML/CSS/DOM knowledge)
    Python
    C

    That covers nearly all the development needs of most programmers and once you learn those languages and the concepts behind them properly you should be equipped to work on almost any project. If you want to be lazy and not a proper developer then just go for Java.


  • Registered Users Posts: 1,421 ✭✭✭Merrion


    English - albeit a "reduced instruction set" version - is the future of computing.

    In my opinion, it is madness that we (humans) spend time telling computers how to do things at all, we should only be telling then what we want them to do.

    The nearest we have to this ideal at the moment is probably SQL.


  • Closed Accounts Posts: 1,444 ✭✭✭Cantab.


    Merrion wrote: »
    English - albeit a "reduced instruction set" version - is the future of computing.

    In my opinion, it is madness that we (humans) spend time telling computers how to do things at all, we should only be telling then what we want them to do.

    The nearest we have to this ideal at the moment is probably SQL.

    Nah, we're way past SQL in terms of natural language processing.

    Computers are becoming more and more semantically aware. Just look at google - a seemingly simple search (such as "sea bass") will not give you any references to bass guitars.

    There's a lot of research going on in the area of semantics, artificial intelligence, machine learning and natural language processing. There are lots of projects out there involving semantic web. Look at what W3C's "RDF/OWL" is doing for an idea on how things are going.


  • Advertisement
  • Closed Accounts Posts: 1,444 ✭✭✭Cantab.


    Merrion wrote: »
    English - albeit a "reduced instruction set" version - is the future of computing.

    English is a remarkably compact, efficient and descriptive language that enables humans to impart huge quantities of information in a very short time. A "reduced instruction set" would vastly limit the ability to describe complex events and new phenomenon (such as fax machines, mobile phones and iPhones).

    There's no need to reduce the scope of the English language -- limiting the vocabulary would not serve much use to the problem at large -- how do humans interact with computers naturally? i.e. HAL in 2001, a space oddessy.

    Language can be analysed statistically and the meaning of words can be extracted and analysed at higher and higher levels of abstraction. State-of-the-art machine translators are now achieving very high accuracy rates.


  • Registered Users Posts: 9,557 ✭✭✭DublinWriter


    Cantab. wrote: »
    English is a remarkably compact, efficient and descriptive language that enables humans to impart huge quantities of information in a very short time. A "reduced instruction set" would vastly limit the ability to describe complex events and new phenomenon (such as fax machines, mobile phones and iPhones).
    I can't believe that old chestnut is being talked about.

    Natural Language Programming was always touted in the 70's and 80's as the future of programming. There were even several failed projects, some with major advertising campaigns in the UK.

    The problem as any linguist will tell you with English is that meanings within sentences can be impossible to infer just using procedural-rules. For example the sentence "I went to the shop to buy chocolate, it was cold" - what was cold? the shop or the chocolate? - but we know that is being described as being cold was most likely the weather from our extra cultural knowledge of the use of the language.

    The question of what will be the dominant language of the future is a mute one. Firstly, Java, C++ and C# are all descendants of C. Those who think that they are worlds apart have probably been lucky enough to never have been exposed to Cobol, Fortran, Prolog, Logo and Lisp.

    The question should be "What development tool will dominate in the future?". We know the answer to this already - what ever Microsoft tells us it will be.

    Management guru Tom Peters once said that the software industry has more in common with the fashion industry than the technology industry and he's right.

    Back in the mid-late 90's many I.T. departments threw away their ridiculously stable Novell servers in favour of buggy and crashy NT 3.5 Servers. Why? Because as an I.T. professional you needed it on the CV if you wanted to stay career-mobile.

    Novell implemented Directory Services and User Quota management ten years before Microsoft managed to get the same features into their server product.

    For years Microsoft touted Visual Basic as the future of programming. During this time I always asked myself the question, well if VB is so good why aren't any of Microsoft's own applications written in it?

    Then they go and nick the Delphi senior architect team from Borland, come up with VB.net and C# .net and once again declare that here is the future and all that went before was wrong, and once again I ask myself if this architecture is so great then why aren't any of Microsoft's own applications written in it?


  • Closed Accounts Posts: 413 ✭✭sobriquet


    Natural Language Programming...
    I agree with you, but it's entirely possible the state of the art has moved on substantially. I don't know, I've not looked into it. Nevertheless, it's a huge problem but to say that it hasn't happened yet means that it won't happen is a stretch. Someone mentioned Googles' smart 'semantic' searching, and that email reminder thing (Sandy?) where you tell what to do in plain text and it picks it up. Pretty effective AFAIK. The thing about that class of NP-hard or AI-complete problem is that the goalposts keep moving. Achieve a certain level and then the doubters say, "Ah yes, but I was talking about X, can you do that? Then it isn't the solution." Once that's solved, the same thing happens. Rinse, repeat.
    Firstly, Java, C++ and C# are all descendants of C. Those who think that they are worlds apart have probably been lucky enough to never have been exposed to Cobol, Fortran, Prolog, Logo and Lisp.
    I agree, but Java and C# aren't really all that similar to C++, and none of them bear that much resemblance to C at all. I suppose they do if you put them all beside a bunch of functional and declarative languages, and squint a bit, but otherwise, I don't think so. Java and C# in particular are descendants of C only in the sense that they've taken on the curly brace syntax.

    As to the rest of your comment, the future will be whatever MS tells us it is, I don't think so tbh. There's a whole world of work going on outside the MS domain. You're right that there's an unfortunate prevalence for fashion in the industry, but language developments happen for a reason. Most of the world is moving toward GC'd VMs, and for good reason, and I don't think it's fair to bash MS for that reason. It's not as though MS (or anyone else) has the One True language stuck on a floppy somewhere and are holding it back to keep us on the upgrade treadmill. (As to why MSs' applications aren't written in it, though I think it's changing with C#, it's not fair to ask them to write performance sensitive desktop apps like the Office apps in VB, which was intended for a different domain.)

    Incidentally, it's interesting that Java and C# are continually taking on more expressive functional/declarative programming styles constructs from more fringe languages. Linq, lambda expressions, generics, closures etc. Guy Steele said that one of the goals of Java was to drag C++ hackers halfway to lisp, and both Java and C# seem to be going ever further down that route.

    This is long, isn't it? What a day to be in work. Anyway, Steve Yegge wrote about the 'next big thing' (long article, all his are) a couple of years ago now, pointing out that a major language change has occured in the middle of every decade for the past few decades. Except this one, there's been no major shift, though it seems there's a want for it. He reckons it'd Ruby, but I don't think so tbh. It (and Python) 'natively' has the functional programming constructs that are now being added to Java and C#.

    I've read some of the debate over adding closures to Java, and it seems that it's a hack to add them (I don't know myself, just parroting here). Scala would seem to be the evolutionary next step for a mainstream language on the JVM. Not looked into it though, so I may be smoking crack.


  • Registered Users Posts: 995 ✭✭✭cousin_borat


    Cantab. wrote: »
    Language can be analysed statistically and the meaning of words can be extracted and analysed at higher and higher levels of abstraction. State-of-the-art machine translators are now achieving very high accuracy rates.
    The problem has always been losing meaning when abstracting down from the higher expressive natural language to machine code. Joel Spolsky wrote a great paper on the Law of Leaky abstractions, well worth reading.
    http://www.joelonsoftware.com/articles/LeakyAbstractions.html


  • Registered Users Posts: 21,264 ✭✭✭✭Hobbes


    Please tell us what that 'World of difference' is that would cause us to all jump onto one language rather than another.

    The broad example you gave is just writing an application to understand the WSDL and parse in/out the data from SOAP message.

    Where as a programming language which fully implements Web Services makes the implementation invisible to the actual development of your application.
    please explain the relevance of your argument at all?

    Your the one making that point, not me so you should explain relevance. Web Services uses XML, XML != Web Services. If you mean that languages can embed later technologies makes them a language of the future and that technology is Web Services, then sure. However a lot of systems that would require a fundamental changes in the language itself, unless you go by the easy way you mention. Which in such case isn't fully using SOA, it is just patching for it.
    I've been working with Web services since about 2002 and pre-Web service protocols since about 1998, so you'll forgive me if I don't take your own experience too seriously after reading what you've posted.

    Well your earlier comment regarding equating TCP/IP to being the same as Web Services seems to say the opposite.
    You've repeatedly tried to put forward the argument that Web services were in some way 'the language of the future'

    No I am saying any language of the future will fully embrace SOA, or rather any language of the future that will be most likely used by the "market" is one that removes the lock in to any operating system/hardware/data/programming language itself. It may not be the single aspect of a language of the future but one of the most important aspects of it.

    And at least I'm putting an opinion across rather then arguing semantics and claiming everyone is just ****.


  • Advertisement
  • Registered Users Posts: 21,264 ✭✭✭✭Hobbes


    Firstly, Java, C++ and C# are all descendants of C.

    Actually all above are descendants of Smalltalk. Although Java takes from a couple of other languages as well.
    For years Microsoft touted Visual Basic as the future of programming. During this time I always asked myself the question, well if VB is so good why aren't any of Microsoft's own applications written in it?

    It was touted as future of programming because it allowed people with almost no experience to write an application. Of course while this made it easier to write stuff, it also brought a generation of poorly developed applications that were a nightmare to maintain.

    As for MS products. some of the MS dos stuff was written in VBDos. Worked with that years ago and it was quite cool. The advanced version actually compiled the BASIC into machine code rather then interpret it. vs a C program there was no speed difference.


  • Closed Accounts Posts: 1,444 ✭✭✭Cantab.


    The problem as any linguist will tell you with English is that meanings within sentences can be impossible to infer just using procedural-rules. For example the sentence "I went to the shop to buy chocolate, it was cold" - what was cold? the shop or the chocolate? - but we know that is being described as being cold was most likely the weather from our extra cultural knowledge of the use of the language.

    The rule-based way of tagging text has long-since been abandoned in favour of statistical techniques rooted in machine learning and AI. If an ambiguity occurs, we look at the statistics to give us a most likely estimate. You're right though about the cultural/general knowledge bit -- this information usually isn't encoded in text and is assumed to be known by the reader. There's a lot of work using online encyclopaedias (i.e. wikipedia) to help with this.


  • Closed Accounts Posts: 2,349 ✭✭✭nobodythere


    Whoever comes out with the least annoying IDE, their language will rule the world.

    Really programming is in a sorry state considering how far along everything else is.... I think programmers are just stuck to their ways, it's such an uphill learning curve.


  • Registered Users Posts: 1,592 ✭✭✭kyote00


    what do ye all think about model driven development....

    So we will all develop models using formally sound & highly expressive languages (perhaps derived from OMGs ODM) and once these models are created then we can automatically generate concrete artifacts (i.e. the code) in whatever environment is required...

    (PS. I am not talking just about UML modeling but perhaps with more expressive modeling, we can perform "reasoning" over the model to carry out tasks using generic reasoners than currently need programs to encode the logic...)

    This is really what has been happening for the last 30years --- i.e. we move to higher abstraction levels (punch cards, assembly, c,c++,OO ...> MDA?)


  • Registered Users Posts: 995 ✭✭✭cousin_borat


    kyote00 wrote: »
    what do ye all think about model driven development....

    So we will all develop models using formally sound & highly expressive languages (perhaps derived from OMGs ODM) and once these models are created then we can automatically generate concrete artifacts (i.e. the code) in whatever environment is required...
    (
    Have a read of the article referred to above on Law of leaky abstractions, any type of model driven or high level of expressiveness language must conquer this.


  • Registered Users Posts: 995 ✭✭✭cousin_borat


    Cantab. wrote: »
    The rule-based way of tagging text has long-since been abandoned in favour of statistical techniques rooted in machine learning and AI.
    Things like Neural nets and markov models are fine for syntactic analysis of language (hence the high take up in bioinformatics in recent years where structures are found based on limited initial data). They are not adequate for determining semantic meaning where it's nigh on impossible to get away from some sort of mark up/tagging.


  • Registered Users Posts: 1,592 ✭✭✭kyote00


    Have a read of the article referred to above on Law of leaky abstractions, any type of model driven or high level of expressiveness language must conquer this.

    interesting article, thanks.

    I think however than this is a problem at all levels of abstraction and is fundamentally why models are used.

    Just as Physics is a set of theories to explain (model) physical phenomena -- computer models are an abstraction of reality. In modeling, we concede that the real world is too difficult to capture fully and therefore resort to a model. Its a model not the real thing !

    For CS, a model is a "shared" conceptualisation of a domain of interest --- this shared is a very overloaded term since it means their is consensus in what the model means (i.e its semantics). Todays models ( OWL or WSMO) benefit for having formal semantics which are founded in 1st order logic which means that the models are computable. Mathematically sound inference is also possible. Inference is also NP complete once we stick to certain reasonably well understood model constructs.

    Hey, OP: bet you are sorry you asked now....


  • Registered Users Posts: 549 ✭✭✭declan_lgs


    Web services!

    They're just so cool. The problem is speed, but I have a pipe dream to overcome that in the far future. A Mozilla computer!


  • Registered Users Posts: 4,276 ✭✭✭damnyanks


    Possibly whatever supports paralell programming better now with 8 core cpu's coming out


  • Registered Users Posts: 995 ✭✭✭cousin_borat


    kyote00 wrote: »
    Todays models ( OWL or WSMO) benefit for having formal semantics which are founded in 1st order logic which means that the models are computable. Mathematically sound inference is also possible. Inference is also NP complete once we stick to certain reasonably well understood model constructs.

    Hey, OP: bet you are sorry you asked now....

    Predicate logic is not expressive enough for most real life computer problems. Although you did say founded in FOL. As I said earlier Prolog FTW (if it had better database support)


  • Advertisement
  • Closed Accounts Posts: 8,866 ✭✭✭Adam


    That's a search engine fail right there...:rolleyes:

    Reported.


Advertisement