The Artima Developer Community
Sponsored Link

Weblogs Forum
After Java and C# - what is next?

46 replies on 4 pages. Most recent reply: Jul 18, 2009 3:46 PM by jovan tomasevic

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 46 replies on 4 pages [ « | 1 2 3 4 | » ]
Isaac Gouy

Posts: 527
Nickname: igouy
Registered: Jul, 2003

Re: why a language at all? Posted: Jul 10, 2003 7:08 PM
Reply to this message Reply
Advertisement
An example is multithreading
Here's a bad broken analogy-
Erlang by design supports massive concurrency.
Java by design supports OO.
Compared to Erlang, doing multi-threading in Java is like doing OO in VB5.

imagine doing complicated query code in Java
See select-from-where on p10 of "Unifying Tables, Objects and Documents"
Wouldn't a complicated in an "After Java and C#" language be more straightforward than Java + SQL?

Ben Bailey

Posts: 1
Nickname: benb
Registered: Jul, 2003

Re: After Java and C# - what is next? Posted: Jul 10, 2003 8:07 PM
Reply to this message Reply
Well, I've read this whole blog looking for 'what's next'; instead, it appears to be rehash of the same old languages.

I recently had a look at Ruby. Looks a lot like slightly improved Java - certainly not a new way to approach things. So, guess I must feel like a 'what is next' language would really come down to a new way of looking at the problem space.

Posters are right C was new - I got goose-bumps in '83 when I was first learning. The Prolog - wow it was a completely different approach. Then C++/Java - again the wow factor.

I actually stumbled into this blog because I was looking for 'whats next'! What a coincidence! Only to not find anything really new - what a disappointment; and here I've only gone and added to the non-event news.

I recently had a look at the Inovations award winners at OOPSLA; NakedObjects (.org) and Prevayler (.org) are really inovative, but aren't languages; they do however present some real inovation.

What NEW language are YOU aware of that presents a new way of solving the challenges of professional programming?

Ben

Alex Peake

Posts: 13
Nickname: alexpeake
Registered: Jul, 2003

Re: After Java and C# - what is next? Posted: Jul 10, 2003 10:32 PM
Reply to this message Reply
Sometimes we miss what is under our noses. Sometimes we miss what "innovation" (creativity) means.

We are not even making use of the language capabilities that already exist! Huge increases in productivity can be had that few of us take advantage of.

Creativity (innovation) is a process of combining things (that already exist) to form something new and useful. All innovations are thus formed. All languages came about this way, sometimes by combining (already existing) language features, sometimes by combining mathematics with languages.

Now a difficulty is that no single language solves all problems well. So there can be no single great language.

In my world, the world of business applications, I can readily define what I would like to see (see previous post in this thread - admittedly incomplete). Undoubtedly, if you develop different kinds of application, your list will be different.

None-the-less, order of magnitude gains can be had by applying today's knowledge! Most great successes in the computer world are manifestations of ideas from 25-30 years ago. To quote Dr. Alan Kay "...Most of current practice today was invented in the 60s...". So there is all that knowledge from the last 30 years waiting to be applied!

Perhaps there should be a thread for each "application domain" (mine is business apps) to start work on this?

Isaac Gouy

Posts: 527
Nickname: igouy
Registered: Jul, 2003

Re: After Java and C# - what is next? Posted: Jul 10, 2003 11:17 PM
Reply to this message Reply
rehash of the same old languages
new way of solving the challenges of professional programming?

Professional programming covers a lot of ground, which bit are you concerned with?
What are the problems that you face using "the same old languages"?

Ever used functional programming languages like Haskell?

Anthony Barker

Posts: 1
Nickname: t482
Registered: Jul, 2003

Re: After Java and C# - what is next? Posted: Jul 11, 2003 3:56 PM
Reply to this message Reply
I think that Alan Kay was way ahead of his time. Much like the spreadsheet revolutionized office work by allowing dynamic analysis of data I think that the next big language will be one that is simple enough to allow average office workers to speed up and automate their own work.

VBA is being used currently for a lot of that work - but it is truly horrible. Wharton has started teaching its MBA students Python.

Check out what Paul Graham has to say about programming languages in 100 years (basically they won't change much).
http://www.paulgraham.com/hundred.html

Anthony
http://xminc.com/anthony

Matt Gerrans

Posts: 1152
Nickname: matt
Registered: Feb, 2002

Re: After Java and C# - what is next? Posted: Jul 11, 2003 7:46 PM
Reply to this message Reply
Thanks for posting the links, Paul Graham's article was a good read (I haven't gotten to the other one yet).

An interesting side-effect of creating the "hundred-year language" today is that then it wouldn't be the hundred year language any more.

I vaguely remember some science fiction movie (maybe it was an episode or movie of Star Trek with Data or the ship's computer? Maybe 2001? Or some other...) where the computer said it would write a program to solve some complicated problem, then run the program. I wondered, when computers would be able to write programs and would it even be necessary? That is, instead of writing the program and running it, why not just dynamically figure out the solution? I guess the "writing" would amount to putting together some optimized algorithm which could be "compiled" and run. Or maybe the idea was that an "intelligent" computer has two components: the neural-net-like "pondering" component which can write code code for the "number-crunching" traditional calculating component.

I guess on a very rudimentary level, this is could be loosely compared to the present day practice of recording a macro (of course, the software isn't smart enough to do much more than record these days, but the user can smarten up the macro subsquently) and adding it to the program's "vocabulary."

This was a good chuckle: "Presumably many libraries will be for domains that don't even exist yet. If SETI@home works, for example, we'll need libraries for communicating with aliens. Unless of course they are sufficiently advanced that they already communicate in XML."

Jim Fenner

Posts: 1
Nickname: jimfenner
Registered: Jan, 2003

Re: After Java and C# - what is next? Posted: Jul 12, 2003 7:35 AM
Reply to this message Reply
Agree about curly braces.
Agree Java is verbose and VB sucks.
Disagree that a programmer facing a major design challenge in a business environment cares whether he uses VB or Rexx or COBOL or Java. He cares whether he can design a solution that is maintainable, elegant and robust, and deliver it on time.

Interfacing with the existing systems/platforms/ multi-million dollar tools/databases/ whatever is more important than having the choice of a curly-braces or non-curly braces language. Yes, it is reason sometimes to go COBOL!
Leveraging the vast class libraries of Java is a sane alternative to building it A-L-L by yourself ,as you must do with mainframe Rexx.
If you know how to generate programs instead of just bashing them out on a keyboard, you concentrate on defining a domain-specific set of templates and parameter inputs and then happily press the button and generate tens of thousands of lines of code that *works* and you don't give a damn what language it is in. You only care that you did in one month correctly and maintainably what the next guy couldn't have done in three years and it wouldn't work either. And you incidentally had a lot of fun doing it.

John Five

Posts: 1
Nickname: johnfive
Registered: Jan, 2003

Re: After Java and C# - what is next? Posted: Jul 12, 2003 9:01 PM
Reply to this message Reply
We need a programming language which can increase productivity. I think we should have a language which abstracts away the create a new file, type code, compile, and run paradigm/monotony that programmers are all too familiar with.

I don't think this responsibility should lie on the shoulders of IDE developers. There should be a programming language that implements obvious time savers natively.

Perhaps the only thing that could spur this revolution is if we had a revolution in our understanding of what an operating system should be.

Java is quite interesting in that it provides its own runtime environment. Yet, Java is still somewhat dependant on certain facilities provided by the underlying OS.

Perhaps the next programming environment can implement a productivity abstraction in addition to a portability abstraction?

Java still needs an OS such as Unix to be useful, does this mean that Java is carrying around some baggage that should be provided by the OS itself? Or does it mean that the OS is imposing too much complexity on the process of developing new programs?

What if the Java virtual machine had its own idea of how a file should behave? What if we could open up our editors and type the instructions we need without having to think about pressing Ctrl-S or without having to type javac to see the results of the changes we just made.

I realize a lot of the monotony can be eliminated by using an IDE such as NetBeans, Eclipse, or Visual Studio. But, should we have to lug around a big IDE that needs to be trained and customized to no ends? Or should we be able to open up a simple text editor and still have the efficiency that modern IDEs provide?

To me, expressiveness of modern languages is not the problem, the problem is the annoying little time wasters that stand in the way of seeing the fruits of one's labor.

Time wasters which have nothing to do with the design of the language itself need to be eliminated. At this moment in time, I'd much rather see a productivity revolution instead of a language design revolution.

Or, should the concept of language design include the necessary productivity enhancing abstractions? If we think of language design as just the syntax our language provides, then perhaps our design is not fully realized.

When I learned C, I remember thinking that it is so beautiful in its simplicity and consistency, yet none of this beauty can make one a competent programmer.

A competent programmer could probably produce elegant, maintainable code in all but the worst languages, yet they are still stuck with the same annoying development cycle.

The idea of programming is so amazing to me, but the act of it is excruciating. To make the act enjoyable would be revolutionary to me.

Didier Cadieu

Posts: 1
Nickname: didec
Registered: Jul, 2003

Re: After Java and C# - what is next? Posted: Jul 15, 2003 5:15 AM
Reply to this message Reply
I add somethings to this list, i think most of you don't know it. I think you will have to check it if you want something new, simple, quick... Probably not the best in any case, but it can be the answer in many situation :

Simple Syntax Lisp/Scheme (almost none), Smalltalk (simple), Python/Haskell (indent), ..REBOL..

Easy Data Structures ML, Erlang, Smalltalk, Lisp, ... (Lists, Records, Tuples, Trees, Sets, Dictionaries, Relations, ...), ..REBOL..


Pattern Matching ML, Erlang, Haskell, ..REBOL..


Generic Methods Clos

Tail Recursion Elimination ML, Lisp, ...

A Complete Language of Macros (Pre-Processor) Lisp/Scheme, MetaML, ..REBOL..


Type Inference ML, Haskell, Qi, ...

Mixins PLT Scheme, CLOS, ...

Easy Interop (with C libraries, Java, COM, .NET) Lisp/Scheme (some), SML (.NET), Smalltalk (some), ..REBOL..


Great UI Building (+ Interop) Lisp/Scheme, Smalltalk (some), Visual Studio, Delphi, ..REBOL..(just some few lines for a UI)


Easy Parsing TXL, ... (not Lex/Yacc, IMHO), ..REBOL..


Distributed Programming Erlang, ...

Concurrent Programming Erlang, ...

Web Server Programming Smalltalk, Lisp/Scheme, Erlang, ... (written in the language), Java, ASP, ..REBOL..


Large Library Smalltalk, Lisp, Java, COM, .NET

IDE (OK, not language, but necessary) Smalltalk, Lisp, ... (but they are all lacking - no integrated design, experiment, model, code, code generation, test, review, refine, ...)

Vendor for Support (Mailing lists are ok, but in a time crunch or for obscure problems a vendor helps) Microsoft, Cincom, ...

Books to learn from (lots) VB, Java, .NET, ...

Probably REBOL can be add to more lines in this list. But I don't do it because I'm not sure to understand what this lines are (need to improve my english ;-)

David

Posts: 2
Nickname: dav
Registered: Aug, 2003

Re: After Java and C# - what is next? Posted: Sep 13, 2003 4:27 PM
Reply to this message Reply
>Java and C# are almost identical programming languages. Boring repetition that lacks innovation.

Java and C# are almost identical because of M.S's ose of sharp business of practices. C# is nothing but a Java clone.
If you think C# lacks innovation, you need to read The Innovators' Ball:
http://www.pbs.org/cringely/pulpit/pulpit20030904.html

Marcus Sundman

Posts: 4
Nickname: msundman
Registered: Sep, 2003

Re: After Java and C# - what is next? Posted: Sep 14, 2003 10:05 AM
Reply to this message Reply
> Great UI Building (+ Interop) Lisp

What decent GUI libraries are there for Lisp? UIs are highly concurrent by nature and that isn't exactly Lisp's strongest attribute.

> IDE (OK, not language, but necessary) Smalltalk,
> Lisp, ... (but they are all lacking - no integrated
> design, experiment, model, code, code generation, test,
> review, refine, ...)

How can you fail to mention Java here? The two best IDEs for any platform are designed mainly for java. They both have some integrated test/review/refine capabilities, and their refactoring tools encourage experimentation.

Dinesh Kamath

Posts: 1
Nickname: dinnu
Registered: Dec, 2003

Re: After Java and C# - what is next? Posted: Dec 2, 2003 1:01 AM
Reply to this message Reply
According to me java is a good OO language,but i had heard that eiffel is the best OO language.I cannot comment on C# as i dont have any knowledge about this.However the java language implements almost all the OO concepts along with many added advantage,so i think that any new language cannot have some new fundamental changes (conceptual)in it (only some new set of classes or packages along with all the features of the best languages can be provided in the new languages to make it the best language)

But however,if any new concept other than OO concept is existing or yet to come and if this new concept is better than OO conepts,then if any new language implements all the features of this new concept then according to me it will definitely be better than any other programming language.

Plumber

Posts: 2
Nickname: plumber
Registered: Apr, 2004

Re: After Java and C# - what is next? Posted: Apr 24, 2004 7:14 PM
Reply to this message Reply
I think that Java it is very well but evolves/moves badly. C #
it is the best produced of Microsoft but on a core rotted it is
always the same thing to do something of good on shit.......

I think that in environment of production it at present is the
advanced one of apple/Next which gives the best tool

the cocoa layer and objectifies it C with its system of
framework thought structurally very well

After Java and C# - what is next?.

Is sure NexT Tech and Apple !

Plumber

Posts: 2
Nickname: plumber
Registered: Apr, 2004

Re: After Java and C# - what is next? Posted: Apr 24, 2004 7:17 PM
Reply to this message Reply
read objective -c instead objectifies it C :D

i can't edit my review it's very cool forum and very well developed

.................

Gregg Wonderly

Posts: 317
Nickname: greggwon
Registered: Apr, 2003

Re: After Java and C# - what is next? Posted: May 3, 2004 9:30 PM
Reply to this message Reply
Two important parts of language evolution over the years have been expression compaction and expression power.

The Perl languages attempts at assigning all kinds of meanings to all kinds of punctuation characters was an attempt at expression compaction. It seems that it was important to Larry and company that it be easy for those that don't type well/fast to quickly express their desires.
Over the years this was found to create more write only software than easily maintained and understandable software.

The current set of symbols on the keyboard constrain the compactness (in character count) of expression we can achieve at many levels. Character groups/words can be an infinite source of distinct expressions though.

Expressive power is most commonly tied to language features such as operator overloading. Operator overloading allows us to assign meanings to otherwise unusable characters in a context that restricts its scope, but often hides its meaning.

The fact that people are still gravitating towards a curly-brace language does not surprise me.

What does surprise me is how todays software programmers and Engineers both do not think of APIs as languages in and of themselves. Languages with limited semantics, such as C and Java have always made programmers feel more comfortable with picking up a piece of software and being able to readily change/fix it.

APIs should be designed to have object and method signatures that speak to the programmer in a language that is familiar with the solutions that the API is target for.

Graphical APIs should include words like circle, oval, square, point, line, polygon. We've learned to expect those linguistic hints to help us know how to use a complex API and to help us know what types of things are needed to execute a particular action in the API.

All the language reinvention for expression compaction or expression power has caused a lot of software to be recreated rather than letting the programmers move on with higher level, more expressive APIs that truely enable software development.

There are only now starting to appear things like IOC and AOP that are patterns that all modern OO languages can support to improve the power of execution.

Flat View: This topic has 46 replies on 4 pages [ « | 1  2  3  4 | » ]
Topic: Python, Java, Flex, and RIAs Previous Topic   Next Topic Topic: The Adventures of a Pythonista in Schemeland/28


Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2014 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us