Hell, of course the IDE has to do the stuff that Ruby does by being dynamic. Example: For ActiveRecord you would need
Database-Integration to generate mapping XML-files
A code generator to generate dumb classes (.java sourcecode) from bindings
Finally generate some helper classes, config and you're done
This all results from the nature of Java. But, if you do the "generator"-way this results in much snappier applications. Currently (including Hibernate) everything circles around IOC and code injection (CGLIB), thus it's hard to clearly beat RoR. To match it (on the same field) you could enhance Groovy a bit and you would practically get the same... (because Groovy is dynamic)
I would enjoy some more code-generation (with ant, that's not really a problem). This would be more the C-way (kind'a retro), but hell fast and very cool in a decent IDE (think of Class-Browsers, JavaDoc support...).
I've always had to own at least one additional windows box to do quite a lot of programming on windows. Well, it's all about JNI-Bindings in my case...
So -- A fastVirtualPC would be like a miracle, and I suspect VMWare guys will get into the ring. I really love Apple for this step, because I really enjoy Mac OS X. For me this means I can get a decent Apple-PowerBook with excellent performance and top notch Windows-compatibility!
I expect some more players getting into the game:
Game industry - porting of OpenGL powered games gets easier (= cheaper) than ever, no more AltiVec
Wineand (of course) CodeWeavers for Wine/CrossOver Office on OS X
Lot of heavily optimized media-related stuff running exclusively on Intel boxes due to SSE, SSE2, MMX...
Much more Linux-stuff due to easier compilation of "poorly programmed" software that doesn't respect endianess and other stuff
Finally. This was the first thing I was thinking of. I hate those cables...
But the greatest thing would be:
Imagine an override by your cellular. You can listen to your iPod as long as you want, and then -- magically your cellular delivers another audio-stream (phone call) and boom. No need to take out any device and control anything...
By the way: There is no solution to the multidevice - one audio output out there... at least no portable. Some kind of network would be a natural choice. Bluetooth currently always uses Point-to-Point connection between your cellular and headset. Thus there is no way to get in... Except when you build a super-geek-headset that features simultanious connection to two devices.
This is a big step forward. Something I've waited for a long time. If it is possible to unite all those vector-graphics efforts in cairo more time can be spent on "stuff that matters".
Well, I always hoped X11 would do this step but they seem to enjoy doing politics instead of standards... On the other hand this approach has some unique advantages:
Platform independence: runs on win32 and linux, awaiting os x...
Can work without X11...especially interesting in not-so-full-powered-configurations (directly via OpenGL)
Independent... People at freedesktop
seem to do the trick very well (they didn't get between the lines -- yet)
Interesting is, that there are also java-bindings
that work together with
SWT which is an interesting step (mono is already on board -- see previous comments)
So hopefully the time of ugly graphics in platform-independent OpenSource-Software is finally over... (just watch OpenOffice -- uaaahh)
Well, a last wish: If Qt guys come aboard, this means KDE is in which on the other hand means that gnome and KDE join on the same backend... just dreaming...
It's fairly hard for a "normal" User on the slim line between an fairly actual system and a productive system. Anyway, new stuff always attracts me a lot (another load of hours lost:-)...
But the problem on Linux and especially with distributions a la Fedora is interoperability. Every version demands it's own RPM archive, there isn't just this thing like "xine-0.99xx.rpm" and GO. It's just like DLL Hell on Windows with the difference that it's more complicated to have different versions coexisting (M$ did some tweaks in that area); i know, it's cleaner but under M$ "IT JUST WORKS".
What really needs to get done is a wider adoption of sort of freedesktop.org "standards" like DBUS
and a defined versioning System for all those
*.so libraries on the system. Apple does some
fairly cool tricks in that area with so called
"frameworks" which exist as isolated directories and can contain multiple versions of a framework. Combined with late binding, it's just possible to trust a certain frozen API version.
I know it was already a huge step forward that most libraries now feature those xxx-config scripts so that the "user" doesn't have to supply all those directories and stuff for easier building. But let's get serious on that: A "real" user doesn't compile his stuff. And without tackling that matter we won't get serious (and working) package dependencies. And till that doesn't work every distribution is in fact a big bloated testing team trying to figure out the dependencies and building propietary packages that only work with this specific version of the distrib...
BTW I think that's part of the reason why gentoo is so successful...
ok, i'm maybe the only one around here finding it kind of positive what microsoft is doing here (and that happens only every 2 years...)
i'm wondering wether it's possible to modify mozilla xul engine so far that it reads this XAML stuff... (ok, bindings are different and so on but:)
=platform independent UI
Rule: native windows L&F / modified XUL for the rest of us. this would result in "usable" projects (instead of gtk2 port for windows / qt $$$$$ / slow java / problematic.net|go.mono)
After having read the article twice I realize that the author actually does not talk about Web-Services.
Instead, he's talking about Windows CE - client-programming, perhaps with some communication with the rest of the universe...
It was strange because C++ doesn't have too much to do with Web Service. I have to say that the article was a complete waste of time as I didn't learn anything!!
Apart from that I have to say that Web-Services in C++ could be great fun, but as so often there is a lacking of standards. Java adresses this issue very effectively via Java Community Process, thus providing standards for the greatest technologies very fast... (While C++ doesn't even provide standardized UI,XML or DB programming - but actually some very good opensource APIs)
Please don't get me wrong - Actually I used to love C++, but recently I always had the feeling being on the wrong lane. This comes from the many decisions and concepts you have to live with:
UI: QT / more or less native (Win32, Cocoa, Motif) / GTK (gtkmm??)
XML: xerces
DB: ODBC (and I hate this plain C-API, it's kinda "do it yourself")
General Library: STL?? (doesn't work very well together with all the other stuff)
other things: sockets, corba, http (and some other high-level protocols, I'm not yet talking of SOAP
Finally you realize that it's not C++ missing the elegance, it's the different approaches and many standard-C APIs that make your life to hell... With some accepted "organ" to propose standards C++ would be unbeatable...
SoftwareUpdate updates existing Software not Hardware
Updating every Mac was done by Apple once (at least my machines loaded it), and I think it was waste of time and bandwith for most people...
Doing kind of "auto-detection" isn't very original either, as I often connect my iPod to various Macs/PCs just to transfer data (WOW - Floppy with 20Gb and FAST) - thus ALL of them would have to download iPod Updates forever
Beautiful would be an automatic Internet Check performed through iTunes whenever an iPod is connect and an internet link is active. Then only required data should be loaded, because I don't nead French and so on... (native German speaker)
More battery life for me means more energy for the unused 2nd processor. I'm eagerly awaiting what this chip is good for....
*since I payed for it*
So now my iPod is full charged and I'm stopping time, we'll see...
You all should be more than lucky with your prices in the U.S.
Here in Austria the 17'' PowerBook in Standard-Apple-Web-Store-Edition makes 4198,80 EUR, compared to only 3299,00 US $ in the U.S. Apple-Store...
Pricing for all other gadgets is similar. I don't see where these 900 EUR difference should come from since actually (due to Irak-Crisis) the Euro has a significantly higher value than U.S. Dollar. So the above mentioned 17'' PowerBook should be around 3000 EUR...
I don't see exactly where I would need that kind of XML-Database... My applications usually have a big load of model-objects witch represent the structure of my data at "work-time". This is a very beautiful and elegant way of building applications.
The real Problem (in terms of flexibility and time) is the massive work needed for fetching data from relational db (Everything is working in Java, using JDBC2 compatible Connection-Pools) and getting it into the data-model and the way back...
So there are two choices: Using an object-oriented db or using some xml-db features. The latter would be great, having some nifty utilities to produce xml out of object's data and then send this xml directly to the db.
But I definitely don't see why a XML-DB should automatically do everything (It's like saving Word-XML to a Database). I think the entire concept of fast querys and stability would be destroyed at once. Those XML-Documents are application-specific-data written in standard XML (XML is only a structured language, it's like writing a document in english and hungarian; of course english will be more "useful" for the world), so it's the business of the application to care about it.
There is virtually no product out there being able to do that magic trick. The only cool software I know that does this (not with xml) is Lotus Notes and even there a load of additional information is required...
I don't see why it's impossible to get the L&F things right on the line under Windows like Apple did in OS X...
Apple provides real native L&F for Swing-Apps running on OS X. (By backing it with native Cocoa bindings) This should be possible under Windows too.
Besides all, I'm still rather confused about the role SWT is going to play and I'm really interested on that issue... (because SWT looks promissing to me)
I think Java can't die that easily. Nearly all posts forget about a very big supporter of Java, IBM. IBM will never support Microsoft-propietary on its servers. (I mean, since IBM started eclipse, it's entire development platform is built and made for Java.
So with server suppliers Sun and IBM it's natural to use Java on the server. An when the backbone is Java, why not use the same environment (Java, JDBC-Drivers, XML-Access) on the client. (it's by far easier to maintain...)
But of course: It'd be great to spread JVM among the clients around the world, although JVM is a fairly "heavy" thing over the slow lines out there... (at least Sun's, which is the only "comfortable" under Windoze)
So the developing community should concentrate on making standard routines for installing the JVM by providing direct links on webpages and so on. (like this happened with Acrobat Reader which you can expect being installed on nearly every system connected to the internet)
Hell, of course the IDE has to do the stuff that Ruby does by being dynamic. Example: For ActiveRecord you would need
- Database-Integration to generate mapping XML-files
- A code generator to generate dumb classes (.java sourcecode) from bindings
- Finally generate some helper classes, config and you're done
This all results from the nature of Java. But, if you do the "generator"-way this results in much snappier applications. Currently (including Hibernate) everything circles around IOC and code injection (CGLIB), thus it's hard to clearly beat RoR. To match it (on the same field) you could enhance Groovy a bit and you would practically get the same... (because Groovy is dynamic)I would enjoy some more code-generation (with ant, that's not really a problem). This would be more the C-way (kind'a retro), but hell fast and very cool in a decent IDE (think of Class-Browsers, JavaDoc support...).
I've always had to own at least one additional windows box to do quite a lot of programming on windows. Well, it's all about JNI-Bindings in my case...
So -- A fast VirtualPC would be like a miracle, and I suspect VMWare guys will get into the ring. I really love Apple for this step, because I really enjoy Mac OS X. For me this means I can get a decent Apple-PowerBook with excellent performance and top notch Windows-compatibility!
I expect some more players getting into the game:
Now, if only eclipse got faster on OS X!
Finally. This was the first thing I was thinking of. I hate those cables...
But the greatest thing would be:
Imagine an override by your cellular. You can listen to your iPod as long as you want, and then -- magically your cellular delivers another audio-stream (phone call) and boom. No need to take out any device and control anything...
By the way: There is no solution to the multidevice - one audio output out there... at least no portable. Some kind of network would be a natural choice. Bluetooth currently always uses Point-to-Point connection between your cellular and headset. Thus there is no way to get in... Except when you build a super-geek-headset that features simultanious connection to two devices.
This is a big step forward. Something I've waited for a long time. If it is possible to unite all those vector-graphics efforts in cairo more time can be spent on "stuff that matters".
Well, I always hoped X11 would do this step but they seem to enjoy doing politics instead of standards... On the other hand this approach has some unique advantages:
Interesting is, that there are also java-bindings that work together with SWT which is an interesting step (mono is already on board -- see previous comments)
So hopefully the time of ugly graphics in platform-independent OpenSource-Software is finally over... (just watch OpenOffice -- uaaahh)
Well, a last wish: If Qt guys come aboard, this means KDE is in which on the other hand means that gnome and KDE join on the same backend... just dreaming...
It's fairly hard for a "normal" User on the slim line between an fairly actual system and a productive system. Anyway, new stuff always attracts me a lot (another load of hours lost :-)...
But the problem on Linux and especially with distributions a la Fedora is interoperability. Every version demands it's own RPM archive, there isn't just this thing like "xine-0.99xx.rpm" and GO. It's just like DLL Hell on Windows with the difference that it's more complicated to have different versions coexisting (M$ did some tweaks in that area); i know, it's cleaner but under M$ "IT JUST WORKS".
What really needs to get done is a wider adoption of sort of freedesktop.org "standards" like DBUS and a defined versioning System for all those *.so libraries on the system. Apple does some fairly cool tricks in that area with so called "frameworks" which exist as isolated directories and can contain multiple versions of a framework. Combined with late binding, it's just possible to trust a certain frozen API version.
I know it was already a huge step forward that most libraries now feature those xxx-config scripts so that the "user" doesn't have to supply all those directories and stuff for easier building. But let's get serious on that: A "real" user doesn't compile his stuff. And without tackling that matter we won't get serious (and working) package dependencies. And till that doesn't work every distribution is in fact a big bloated testing team trying to figure out the dependencies and building propietary packages that only work with this specific version of the distrib...
BTW I think that's part of the reason why gentoo is so successful...
ok, i'm maybe the only one around here finding it kind of positive what microsoft is doing here (and that happens only every 2 years...)
i'm wondering wether it's possible to modify mozilla xul engine so far that it reads this XAML stuff... (ok, bindings are different and so on but:)
=platform independent UI
Rule: native windows L&F / modified XUL for the rest of us. this would result in "usable" projects (instead of gtk2 port for windows / qt $$$$$ / slow java / problematic .net|go.mono)
After having read the article twice I realize that the author actually does not talk about Web-Services.
Instead, he's talking about Windows CE - client-programming, perhaps with some communication with the rest of the universe...
It was strange because C++ doesn't have too much to do with Web Service. I have to say that the article was a complete waste of time as I didn't learn anything!!
Apart from that I have to say that Web-Services in C++ could be great fun, but as so often there is a lacking of standards. Java adresses this issue very effectively via Java Community Process, thus providing standards for the greatest technologies very fast... (While C++ doesn't even provide standardized UI,XML or DB programming - but actually some very good opensource APIs)
Please don't get me wrong - Actually I used to love C++, but recently I always had the feeling being on the wrong lane. This comes from the many decisions and concepts you have to live with:
Finally you realize that it's not C++ missing the elegance, it's the different approaches and many standard-C APIs that make your life to hell... With some accepted "organ" to propose standards C++ would be unbeatable...
There are good reasons not doing so:
Beautiful would be an automatic Internet Check performed through iTunes whenever an iPod is connect and an internet link is active. Then only required data should be loaded, because I don't nead French and so on... (native German speaker)
More battery life for me means more energy for the unused 2nd processor. I'm eagerly awaiting what this chip is good for.... *since I payed for it* So now my iPod is full charged and I'm stopping time, we'll see...
I guess I was a fairly wrong.... Thank's for VAT information...
You all should be more than lucky with your prices in the U.S.
Here in Austria the 17'' PowerBook in Standard-Apple-Web-Store-Edition makes 4198,80 EUR, compared to only 3299,00 US $ in the U.S. Apple-Store...
Pricing for all other gadgets is similar. I don't see where these 900 EUR difference should come from since actually (due to Irak-Crisis) the Euro has a significantly higher value than U.S. Dollar. So the above mentioned 17'' PowerBook should be around 3000 EUR...
I call this discrimination!!
I don't see exactly where I would need that kind of XML-Database... My applications usually have a big load of model-objects witch represent the structure of my data at "work-time". This is a very beautiful and elegant way of building applications.
The real Problem (in terms of flexibility and time) is the massive work needed for fetching data from relational db (Everything is working in Java, using JDBC2 compatible Connection-Pools) and getting it into the data-model and the way back...
So there are two choices: Using an object-oriented db or using some xml-db features. The latter would be great, having some nifty utilities to produce xml out of object's data and then send this xml directly to the db.
But I definitely don't see why a XML-DB should automatically do everything (It's like saving Word-XML to a Database). I think the entire concept of fast querys and stability would be destroyed at once. Those XML-Documents are application-specific-data written in standard XML (XML is only a structured language, it's like writing a document in english and hungarian; of course english will be more "useful" for the world), so it's the business of the application to care about it.
There is virtually no product out there being able to do that magic trick. The only cool software I know that does this (not with xml) is Lotus Notes and even there a load of additional information is required...
I don't see why it's impossible to get the L&F things right on the line under Windows like Apple did in OS X...
Apple provides real native L&F for Swing-Apps running on OS X. (By backing it with native Cocoa bindings) This should be possible under Windows too.
Besides all, I'm still rather confused about the role SWT is going to play and I'm really interested on that issue... (because SWT looks promissing to me)
I think Java can't die that easily. Nearly all posts forget about a very big supporter of Java, IBM. IBM will never support Microsoft-propietary on its servers. (I mean, since IBM started eclipse, it's entire development platform is built and made for Java.
So with server suppliers Sun and IBM it's natural to use Java on the server. An when the backbone is Java, why not use the same environment (Java, JDBC-Drivers, XML-Access) on the client. (it's by far easier to maintain...)
But of course: It'd be great to spread JVM among the clients around the world, although JVM is a fairly "heavy" thing over the slow lines out there... (at least Sun's, which is the only "comfortable" under Windoze)
So the developing community should concentrate on making standard routines for installing the JVM by providing direct links on webpages and so on. (like this happened with Acrobat Reader which you can expect being installed on nearly every system connected to the internet)