It seems that google wants ,after having invested in gwt, go, and other stuff, to influence the web programming too ... The new baby is DART :
* presentation
* announce
* article
What is interesting to me, it's the people who have worked on it. Go was developped by C creator and fellows, and Dart by emminent Smalltalker :)
We may imagine that these two languages (go an dart) will share different kind of problematics and different kind of granularity, and not really compete themselves...
I imagine Dart like a Seaside-like language and framework with continuation inside :) We'll see that in few days.
I also suppose that dart is coming to replace java and dalvik on android machines, and this to avoid problems with Oracle. The path is long to make a new language successful, but if it is related to android, the success (like objective-C) may be guaranteed.
Everything and nothing in particular about Modeling, Architecture, Software engineering,...
Showing posts with label language. Show all posts
Showing posts with label language. Show all posts
Friday, September 9, 2011
Sunday, May 30, 2010
Go language
In the galaxy of languages, it is always hard to choose one ; we can take a widely spread general purpose language like Java for instance, or a domain specific language like SQL. We usually choose both in many cases.
Go language has been developped by Google to be a system oriented programming language, even if it has IMO the ability to be a general purpose programming language . The principles which have conducted to its elaboration are :
Go (golang) is one of the language which may replace C or C++ in a near future because of combining efficiency, safety and simplicity. It also introduces some very noticeable features like goroutines and channels which may highly simplify the multi-thread development task.
Up to now, Go lacks mainly of IDE and debugger to help writing very large scale applications. It lacks also the ability to load dynamic libraries but it is a question of time. But the language itself and its compiler(s) are very robust and already ready for developping mature software.
Here are some useful pointers for Go :
Go language has been developped by Google to be a system oriented programming language, even if it has IMO the ability to be a general purpose programming language . The principles which have conducted to its elaboration are :
- simplicity
- efficiency
- safety
- quick compilation time
- ubiquity
Go (golang) is one of the language which may replace C or C++ in a near future because of combining efficiency, safety and simplicity. It also introduces some very noticeable features like goroutines and channels which may highly simplify the multi-thread development task.
Up to now, Go lacks mainly of IDE and debugger to help writing very large scale applications. It lacks also the ability to load dynamic libraries but it is a question of time. But the language itself and its compiler(s) are very robust and already ready for developping mature software.
Here are some useful pointers for Go :
- golang
- go resources
- calling C from go
- go callbacks in go
- IDE supports
- Gedit
- Gogo editor
- Nefarious eclipse
- Windows port
- reddit/golang
- Go search engine
- log4go (interesting especially until a debugger is not provided)
Wednesday, July 8, 2009
Scala, a nice language
In the universe of development languages, it is very difficult to choose one especially...because it depends on the kind of software you want to develop in one side, and the environmental constraints on the other part. For efficiency, C is still (when well programmed) on the top. For general purpose applications, java or c# are good. For web development on the browser, javascript is almost mandatory, and so on... So the philosophical stone is not yet to be reached.
Nevertheless, I took a glance on Scala few months ago, and I have found it very interesting, concise, agile, and efficient. The learning curve is also quick to learn. Another point is the ability to mix java and scala, and the most important is the disponibility of an eclipse plugin for developping efficiently... So why not using Scala as well?
An interesting article from James Strachan, the creator of Groovy about Scala. At the beginning, I was quite fan of Groovy, but personnaly I think syntax and concepts have evolved in a too complex manner... even if Groovy has powerful features which may match some areas like specific domain languages or metaprogramming.
Nevertheless, I took a glance on Scala few months ago, and I have found it very interesting, concise, agile, and efficient. The learning curve is also quick to learn. Another point is the ability to mix java and scala, and the most important is the disponibility of an eclipse plugin for developping efficiently... So why not using Scala as well?
An interesting article from James Strachan, the creator of Groovy about Scala. At the beginning, I was quite fan of Groovy, but personnaly I think syntax and concepts have evolved in a too complex manner... even if Groovy has powerful features which may match some areas like specific domain languages or metaprogramming.
Sunday, June 21, 2009
Dalvik, running java efficiently
The story of virtual machines is beginning to be quite long ; Smalltalk, Lisp, Java, dotNet, ... The idea behind these were to be able to write once and deploy everywhere. In the case of Smalltalk, it was even a step further by including the concept of "image" which is actually a kind of object oriented database.
The drawback of these approaches is mainly the lack of performance, even if many, many improvements has been made to ensure execution celerity (hotspot for instance)... But the constatation is in front of our eyes : eclipse is still a big processor and memory consummer, microsoft doesn't still write its main applications in dotNet, and so on...
One of the avantage of using VM is that the developper can develop quicker and safer (no more memory leaks for instance). We could easily continue to develop this way but by adding a compilation step we could ensure efficiency. It is what Excelsior proposes, but also IS2T with their Icetea technology.
Google followed the same way by providing the Dalvik technology, ie a VM running .dex files directly got from java .class files. This new format is shorter, quicker, more memory efficient but has not just-in-time compiler. This VM enables Google to run java programs on Android efficiently, and also not to pay fees to Sun ;)
The drawback of these approaches is mainly the lack of performance, even if many, many improvements has been made to ensure execution celerity (hotspot for instance)... But the constatation is in front of our eyes : eclipse is still a big processor and memory consummer, microsoft doesn't still write its main applications in dotNet, and so on...
One of the avantage of using VM is that the developper can develop quicker and safer (no more memory leaks for instance). We could easily continue to develop this way but by adding a compilation step we could ensure efficiency. It is what Excelsior proposes, but also IS2T with their Icetea technology.
Google followed the same way by providing the Dalvik technology, ie a VM running .dex files directly got from java .class files. This new format is shorter, quicker, more memory efficient but has not just-in-time compiler. This VM enables Google to run java programs on Android efficiently, and also not to pay fees to Sun ;)
Labels:
architecture,
java,
language,
technologies
Monday, December 15, 2008
Java 7
Java7 is on the road ; it is not yet officially available but can be nevertheless dowloaded here.
Here is a sum-up of the embedded libraries in this version :
For the ones who want already use closures, you can go here.
Here is a sum-up of the embedded libraries in this version :
Modularity (superpackages and Java Module System)
NIO2 , enhancing the NIO channels
Units and Quantites
Date and Time API
Cache API
Concurrence
XQuery API
Resources consumption management
Swing Application framework
Beans Binding and Beans Validation
Java Media Components
JMX 2.0 and web services connectors for JMX
For the ones who want already use closures, you can go here.
Friday, November 7, 2008
Gldapo, the Groovy LDAP builder
For the ones who want to access LDAP servers in a simpler manner than with JNDI, you can use such libraries like Spring ldap which enables the developper to access the server like a databse with jdbc.
But if you want more, you also can try to use Gldapo, the Groovy builder created to access the LDAP server as POJO.
Enjoy!
But if you want more, you also can try to use Gldapo, the Groovy builder created to access the LDAP server as POJO.
Enjoy!
Tuesday, October 28, 2008
Smalltalk is going back
I've been fond of Smalltalk since 20 years but have not the occasion any more to develop with this great language/ide :-(
It seems that people after having tried java, c#, ruby, python, groovy, grails, ruby on rails,..., to solve their development problems reached conclusions that everything or almost was already thought, designed 30 years ago with Smalltalk.
Smalltalk is again in the front of door with Seaside, ther continuation framework firstly built in Squeak.
An IBM internal project still focus on Smalltalk for adapting Smalltalk to the eclipse platform through the STDT project.
I hope that Smalltalk will be back on the market, because it still the best architectured language ever.
For information, below can be found a list of Smalltalk providers :
It seems that people after having tried java, c#, ruby, python, groovy, grails, ruby on rails,..., to solve their development problems reached conclusions that everything or almost was already thought, designed 30 years ago with Smalltalk.
Smalltalk is again in the front of door with Seaside, ther continuation framework firstly built in Squeak.
An IBM internal project still focus on Smalltalk for adapting Smalltalk to the eclipse platform through the STDT project.
I hope that Smalltalk will be back on the market, because it still the best architectured language ever.
For information, below can be found a list of Smalltalk providers :
- Cincom Smalltalk
- VisualAgeSmalltalk
- DolphinSmalltalk
- Smalltalk/X
- (old) Smalltalk MT
- and of course Squeak
Thursday, October 9, 2008
DB4O and groovy
When we use the native queries in DB4O with Java, we are confronted to the use of anonymous classes while .Net use the delegate facility which is of course shorter and smarter.
When Java will have Block Closure capabilities, the problem will be solved simply.... Up to this great deadline :-) we can use Groovy to perform this task. You only have to create builder to do it, or use the groovy closures.
There is a good groovy module which aims to create a DSL to make easier the use of SODA like expressions : Groovy4DB40..
A good tutorial for this topic is also available here.
Groovy is fun too :-)
When Java will have Block Closure capabilities, the problem will be solved simply.... Up to this great deadline :-) we can use Groovy to perform this task. You only have to create builder to do it, or use the groovy closures.
There is a good groovy module which aims to create a DSL to make easier the use of SODA like expressions : Groovy4DB40..
A good tutorial for this topic is also available here.
Groovy is fun too :-)
Sunday, August 31, 2008
GWT 1.5 is out
GWT 1.5 is now officially out and improves greatly GWT capabilities and features. We can say from now that GWT reached a mature state which invites you to build professional applications with.
It is too long to enumerate all the features included in this version, but the main ones are the following:
It is too long to enumerate all the features included in this version, but the main ones are the following:
- Java 5 language support
- Performance optimizations
- Easier JavaScript interop
- Prettier widgets
- Accessibility(ARIA compliant)
Wednesday, July 9, 2008
IMP : The IDE Meta-Tooling Platform
For the ones which are interested in language creation, I would track your attention to an Eclipse project in incubation called IMP for Ide Meta-tooling Platform.
Another eclipse sub-project you'll tell me. Maybe but I find the idea behind this project very interesting : define a language grammar and then generate all the IDE around it making instantaneously this language a tooled language. The golden door to develop DSL, the graal of the next years.
A language is actually a good language not only because of the intrinsic quality of the language itself, but also the community around it. And the best way to make growing quite quickly this community is to have tools, and more, high-performance tools.
IMP(formerly SAFARI) has its roots in a project called "Universal IDE" which was started by Chris Laffra in 2004. Here is the description of the project itself :
"The Eclipse IMP's purpose is to develop a set of extensible frameworks and exemplary tools built on the Eclipse platform that ease the creation of IDEs for programming languages (new or otherwise) that do not yet enjoy full-featured Eclipse support. Our ultimate goal is to assist language implementers in creating IDEs with a richness and usability on par with the Eclipse Java Development Toolkit (JDT). In the near term, however, we intend to provide support for a significant portion (but not all) of the JDT's functionality. It is our belief that this is a natural next step in the evolution of the Eclipse - doing for programming IDEs what RCP does for rich UI applications.By accelerating the process of developing new IDEs, we also hope to expand the use of Eclipse to new programming domains, further enhancing the appeal of the Eclipse platform. In fact, we hope to encourage language design experimentation by making it viable for language implementers and their communities to produce full-featured IDEs with more reasonable effort than is presently possible."
You can find more information about the project here and on their website.
It exists also several interesting projects in this area like XText or TMF or openArchitectureWare.
Another eclipse sub-project you'll tell me. Maybe but I find the idea behind this project very interesting : define a language grammar and then generate all the IDE around it making instantaneously this language a tooled language. The golden door to develop DSL, the graal of the next years.
A language is actually a good language not only because of the intrinsic quality of the language itself, but also the community around it. And the best way to make growing quite quickly this community is to have tools, and more, high-performance tools.
IMP(formerly SAFARI) has its roots in a project called "Universal IDE" which was started by Chris Laffra in 2004. Here is the description of the project itself :
"The Eclipse IMP's purpose is to develop a set of extensible frameworks and exemplary tools built on the Eclipse platform that ease the creation of IDEs for programming languages (new or otherwise) that do not yet enjoy full-featured Eclipse support. Our ultimate goal is to assist language implementers in creating IDEs with a richness and usability on par with the Eclipse Java Development Toolkit (JDT). In the near term, however, we intend to provide support for a significant portion (but not all) of the JDT's functionality. It is our belief that this is a natural next step in the evolution of the Eclipse - doing for programming IDEs what RCP does for rich UI applications.By accelerating the process of developing new IDEs, we also hope to expand the use of Eclipse to new programming domains, further enhancing the appeal of the Eclipse platform. In fact, we hope to encourage language design experimentation by making it viable for language implementers and their communities to produce full-featured IDEs with more reasonable effort than is presently possible."
You can find more information about the project here and on their website.
It exists also several interesting projects in this area like XText or TMF or openArchitectureWare.
Subscribe to:
Posts (Atom)