Domain: cincom.com
Stories and comments across the archive that link to cincom.com.
Comments · 42
-
Re:SqueakSqueakland is the site to go to. Squeak is a pure Smalltalk with many extra objects and methods. It gives 'children of all ages' hours of fun and games, while teaching one of the most productive programming environments ever created. A programming foundation using Squeak can lead directly to a professional programming career using SmalltalkX or Cincom Smalltalk
If the teacher finds the Smalltalk paradigm incomprehensible I'd suggest (s)he try Ruby. The author, quite truthfully, claims it's a 'surprise-free' language. Together with Smalltalk it's one of the few truly Object Oriented programming languages. It's been reported that both Squeak and Ruby are going to be installed on the OLPC machine. ( The OLPC folks change their minds so frequently that I'm now not certain of that though )
-
For fast development: Smalltalk & SQLIt'll stand you in good stead to learn Smalltalk. Now for the Free Database of choice:- And the books to study:- Get your head around that lot and you will be a very valuable item. Toss in a modicum of accounting knowledge to ice the cake.
Everything mentioned in the above links is $ free. -
The best starting out language is ...
Smalltalk, because you are completely isolated from the boring mechanics of programming. Nasty things like files, editors, compilers, linkers.
http://www.smalltalk.org/main/
http://en.wikipedia.org/wiki/Smalltalk
Smalltalk, because there are 2 very good free (gratis),
http://www.exept.de/exept/english/Smalltalk/frame_ uebersicht.html
http://smalltalk.cincom.com/index.ssp
and at least 2 Free ( Libre ) implementations.
http://www.squeak.org/
http://www.gnu.org/software/smalltalk/smalltalk.ht ml
Smalltalk, because is was deliberately designed for small people to have fun,
yet you can grow-up with it.
http://www.squeakland.org/
Smalltalk, because it is well documented.
http://www.iam.unibe.ch/~ducasse/FreeBooks.html
http://www.whysmalltalk.com/tutorials/visualworks. htm
In a couple of words, it Just Works, and your sanity will not be harmed.
If you can't drop the "program in a file" paradigm, then checkout
http://www.ruby-lang.org/
http://www.python.org/
Don't even dream about anything BASIC because your dreams will turn into really horrendous nightmares before you can even turn around twice. -
Stick with Smalltalk
Cincom's VisualWorks is so much better than most Java IDEs and GUI libraries, it is like comparing a sportscar to a square wheeled horse drawn wagon.
A non-commercial version is available at http://smalltalk.cincom.com/downloads/index.ssp?co ntent=smalltalk -
Re:Smalltalk?
Lots of niches, actually.
See, for example sorting french fries, or in this larger PDF, scheduling all of Deutsche Bahn's trains (page 38) or derivatives trading (page 33 and here), as well as a a variety of other applications. Or there's an example of controlling a semiconductor fab facility, a good many of which are controlled by Adventa's Smalltalk-based products. Or there's continuation-based web stuff like Seaside or Dabble. etcetera. If you'd really like to know more, you might be interested in upcoming conferences such as Smalltalk Solutions. -
Re:Smalltalk?
Smalltalk is most certainly in use. There are multiple vendors, and two open source implementations. See:
for some initial pointers. -
Re:I am in a similar situation
Download a smalltalk
http://smalltalk.cincom.com/ - VisualWorks is free for non-commercial use. -
Re:The ideal language (processing methodology)
What I'd like to see: As I enter code in the language, the system does syntax checking and builds the necessary data structures, prompting and possible asking questions about ambiguities and any necessary library functions either not found or not called correctly. In fact, this process might as well be graphical in nature - NeXTstep's Interface Builder perhaps came closest to this in my experience. The code should be runnable immediately, in an interpreted environment - a la Perl/Python/PHP etc.
This is exactly what a Smalltalk system does. Methods are compiled when they are saved, you are made aware of any synactical errors, as well as undeclared variables, unknown messages. And when that method is saved, it is immediatly usable by any part of the system. So you can have an application that calls the #foobar method, but it's not implemented. You leave the application running, you implement #foobar, you save it, you go back to the application, you click the button (or do whatever action to call #foobar) and it will work. Bam! Just like that.And people (especially some people in the
.NET and Java worlds) think that Smalltalk is old and outdated and has been superceeded by their technology. Think again! -
As if windows wasnt slow enough-The Seers Way.
Well well, the fates pervail.
Remember this? That's what's coming to Linux. Here's a summary for those who haven't seen the video, and explains the environment better. Couple that with this or this environment. And you begin to see the future of working with Linux. Collaboration is the OSS way, and with such a foundation. Everyone will be able to participate. Programmers, and non alike. -
Re:Squeak and e-toysUnder Linux with X-11, Squeak can be set up to be its own window manager. Dropping the Gnome, KDE etc. layer from the software stack results in a speed increase which is quite remarkable. It's then just about useable on a 400MHz P/II.
While Squeak, as in the e-Toys environment, as its name implies, is a plaything, but it's a pretty good plaything none the less. It leads directly on to the commercial Smalltalks which are arguably the premier 'productivity' language. Onward links include:-
- Squeakland for the e-Toys.
- Squeak Smalltalk The Language itself.
- The Smalltalk Community Portal
- SmalltalkX A brilliant super-fast implementation.
- Cincom Smalltalk The direct decendant from the original Xerox PARC version.
-
Re:Yah, good for Javascript!
-
Lisp, Smalltalk and complexity-Fedex
"But businesses have standards. All you are doing is adding another language that needs to be supported which would make matters worse."
And yet Fedex handle it quite well. And apparently others likewise have no trouble.
Just because your having difficulties dealing with Lisp and Smalltalk doesn't mean others are.
-
Lisp, Smalltalk and complexity-Fedex
"But businesses have standards. All you are doing is adding another language that needs to be supported which would make matters worse."
And yet Fedex handle it quite well. And apparently others likewise have no trouble.
Just because your having difficulties dealing with Lisp and Smalltalk doesn't mean others are.
-
Use Smalltalk
I use Seaside with VisualWorks Smalltalk
You'll note their website is a smalltalk web server.
"Why does nobody use it? Fear, uncertainty and doubt. People think it died with AI. People think its old, so it won't be up to modern tasks. People can't get over the parentheses. The boss won't approve it. Nobody else uses it, so it's hard to get support. Any number of reasons."
The intelligence community uses Lisp. -
Try Smalltalk
It's go a steep learning curve but the view from the top is just fantastic. There are many vendors of which Cincom is probably the best known. It has a superb data-entry form generator and several database interfaces. PostgreSQL is one. Also SmalltalkX offers a very good free (beer) implementation.
-
Opentalk is already trademarked!
I know for a fact that OpenTalk is already trademarked by these guys.
From that page:
Opentalk
Opentalk is the new distribution framework that allows rapid implementation of distributed protocols such as SOAP. Opentalk is the basis of UDDI and SOAP implementations. In this release, the Opentalk core (the base distribution tools) has moved into product status. We expect The Opentalk tools (browsers, etc.) to ship in the next several releases. -
Squeak is childish?Why is squeak childish? Because by default it uses a colorful interface?
If it's strictly the GUI aspect of Squeak that make you think it's a childish toy language or something, then I suggest you check out VisualWorks.
You can download a free non-commercial version (still has all the features and power of the commercial version) and learn smalltalk that way. It looks very professional.
I'd say that the less utilitarian interface of Squeak might make it easier to edge someone into doing actual programming, if that was your aim. YMMV.
-
Seaside
For people who think there must be something better to write web-based applications than PHP, I invite you all to take a look at Seaside by Avi Bryant, a web framework available for Squeak and, I think, VisualWorks Smalltalk. It uses continuations to make programming a web application basically the same as coding a desktop application. It features many, many things that PHP cannot do.
-
Re:Visual Age Smalltalk
I've been using Squeak for a number of projects and general areas for 4-5 years now. For me, Squeak is many things- it's my scripting language, my prototyping language, my implementation language (occasionally with a C library when I need the speed), my desktop environment for both my desktop and my PDA. VAST would have a hard time filling all of these needs.
I've used VAST before, and don't get me wrong, it's a really nice product- a rock solid Smalltalk that does a good job fitting in with apps written in other languages the OS supports. I used VAST interning a Progressive Insurance, where it's used for a couple really neat in-house apps. VAST is a really mature development system for web apps, prototyping and final implementation of desktop apps. I've used it in conjunction with the GemStone/S Object Database, which was a lot of fun.
For groups, VAST or VWNC along with ENVY/Developer simply can't be beat- by Squeak or any other development environment/language. It's the slickest way for a group, big to small, to develop an application with relative efficiency. Like CVS, but snazzier. :)
But for me, it's way too big. I imagine the license is more restrictive as well. It also supports fewer platforms than does Squeak, or even VisualWorks (which also has a non-commercial version for download). -
Re:Visual Age Smalltalk
I've been using Squeak for a number of projects and general areas for 4-5 years now. For me, Squeak is many things- it's my scripting language, my prototyping language, my implementation language (occasionally with a C library when I need the speed), my desktop environment for both my desktop and my PDA. VAST would have a hard time filling all of these needs.
I've used VAST before, and don't get me wrong, it's a really nice product- a rock solid Smalltalk that does a good job fitting in with apps written in other languages the OS supports. I used VAST interning a Progressive Insurance, where it's used for a couple really neat in-house apps. VAST is a really mature development system for web apps, prototyping and final implementation of desktop apps. I've used it in conjunction with the GemStone/S Object Database, which was a lot of fun.
For groups, VAST or VWNC along with ENVY/Developer simply can't be beat- by Squeak or any other development environment/language. It's the slickest way for a group, big to small, to develop an application with relative efficiency. Like CVS, but snazzier. :)
But for me, it's way too big. I imagine the license is more restrictive as well. It also supports fewer platforms than does Squeak, or even VisualWorks (which also has a non-commercial version for download). -
Smalltalk is for small people.
Squeak smalltalk is a briliant language for smalls. Runs on all small computers under your o/s of choice. Your work will be completely shareable because the Virtual Machine is identical on all hardware platforms. It leads on to the the most productive language ever created.
Squeak smalltalk for kids
Squeak smalltalk for grownups
Smalltalk for business
Smalltalk for engineers - Very fast.
There are many others, have a look through The Smalltalk Portal.
Just remember that with 30 years of developemnt it just works! -
Re:I didn't like Linux dev stuff when I tried it.
Sure. A couple of good options are Lispworks and VisualWorks
-
SmallTalk....
You may or may not want to go with something as "different" as SmallTalk - but with ST, the IDE itself runs in the same heavyweight proc as the code you're writing (different lightweight procs). As you develop, you actually "mold" the process image itself into the application you are building. It's VERY powerful as far as extensibility (because you can mold the runtime process image to anything you want it to be, and that includes the IDE).
It's VERY portable. Object Engines (similar in concept to the Java Virtual Machine...and actually a precursor to the JVM) are available for virtually any platform (Win, Mac, all kinds of *nixes, BeOS, Palm, PocketPC, etc, etc, etc). With a tiny bit of careful development, your app will run on any platform for which there is an OE.
Cincom has a non-commerical version of their SmallTalk VisualWorks, which is quite cool. -
The link to the NC Smalltalk page
forgot to put this as a working link: Cincom Smalltalk's Non Commercial download programme
-
Common Lisp and Smalltalk - actually portable...
A lot of people have been suggesting Java, and just as many have been debunking it.
I know this is a C/C++/Perl/Java bigot crowd, so I'll keep this short.
What about Common Lisp or Smalltalk? Both are quite portable, and reasonably fast. Common Lisp can even be fully compiled to machine code. They both fill all of the other requirements.
Two notable implementations of CL are CMUCL (Free) and Allegro CL (free trial, commercial- but solid).
As far as Smalltalk, the notable implementations for your project are VisualWorks and IBM's VisualAge for Smalltalk. Couple summers ago I worked at a shop which was heavily into VA/ST, and it was a pretty awesome system. Core of their business, and we're talking about a pretty big insurance company. -
Then try this...
If you don't like squeak, try Visualworks. It's a very nice commercial smalltalk that I worked with extensively when I was in grad school.
I've linked to the downloadable non-commercial-development version.
Smalltalk is very addictive once you start using it. I love the flexability that multiple polymorphism (selecting a method based on the name, and the types of all of the arguments, rather than on just the name, and maybe the first argument) offers, as well as the convience of being able to work on the same image from whatever platform (sun, windows, mac) that I happened to have access to. -
Isn't new (Re:good move)
This isn't new. There are already development environments out there that you can download for and develop for free, then pay for stuff if you go commercial. VisualWorks Smalltalk has been available on Linux for years now, and lets you do real OO, and RAD. It has a faster VM than the best Java JITs, and better GC. It has had true WORA across 11 platforms (not the mythical WORA that many Java implementations have) for years.
-
Consider SmalltalkThere are a couple of cross-platform Smalltalk versions available.
Smalltalk is very RAD; it's a pure object oriented language + IDE which does away with those quaint source files. In general the GUI code is not transportable across vendors. Domain code is allmost cross-platform, often porting between vendors is trivial.Some cross platform Smalltalk versions are Visual Age Smalltalk by IBM (needs to rebuild the app for each platform, uses native widgets) and VisualWorks by Cincom (binary portable, uses emulated widgets).
Both have a code revision system, IBM has ENVY as an option, VisualWorks comes with STORE.More Smalltalk info at WhySmalltalk
-
eXtreme Programming - How?
One of the things people should bear in mind is where XP was invented - Smalltalk (and VisualWorks, part of Cincom Smalltalk, in particular). It still works best in Smalltalk. Why?
Immediate feedback. You can create the tests initially without having the actual code written yet (as the tenets call for) - Smalltalk allows for that
You can test early and often. Why? because Smalltalk allows for testing of partially written systems, something statically typed systems generally can't do. And before you say 'VisualAge Java', recall that IBM are busy re-doing that in Java - and removing the dynamic features as a result
If you want to try it out, try Cincom Smalltalk:
Cincom Smalltalk Download Page
to download it. You should also know that the people who invented XP (Kent Beck, Ron Jeffries, et. al.) did so in VisualWorks. It was born there - it's best there.
If you want to see the Original XP project and how it came about, follow this link. It's got tons of information on the beginnings of XP - and points out the Smalltalk origins. So if you want to do XP with the best results, do it with the best tools.
-
eXtreme Programming - How?
One of the things people should bear in mind is where XP was invented - Smalltalk (and VisualWorks, part of Cincom Smalltalk, in particular). It still works best in Smalltalk. Why?
Immediate feedback. You can create the tests initially without having the actual code written yet (as the tenets call for) - Smalltalk allows for that
You can test early and often. Why? because Smalltalk allows for testing of partially written systems, something statically typed systems generally can't do. And before you say 'VisualAge Java', recall that IBM are busy re-doing that in Java - and removing the dynamic features as a result
If you want to try it out, try Cincom Smalltalk:
Cincom Smalltalk Download Page
to download it. You should also know that the people who invented XP (Kent Beck, Ron Jeffries, et. al.) did so in VisualWorks. It was born there - it's best there.
If you want to see the Original XP project and how it came about, follow this link. It's got tons of information on the beginnings of XP - and points out the Smalltalk origins. So if you want to do XP with the best results, do it with the best tools.
-
Re:Smalltalk is obsolete
T_f_J, you're entitled to an opinion, of course, but your vocabulary in itself demonstrates the problem. To serve the economic and egoistic purposes of various Influential Entities, programming languages have become like car styles and Parisian fashions. Who judges that a programming language "belongs in a by-gone" era? What's the basis for that judgment? Is it that it hasn't a Roy Oily animal character and book assigned it yet? Is it that there's no John Wayne icon picked for it? Surely, a programming language is judged based upon the readiness with which its practitioners can build real systems while keeping an eye on long term costs and adaptability to changes in requirements.
If popularity were the test of achievement, then Visual Basic is (and remains, despite some deflation) king of the hill. You can't really mean that.
Most people who embrace Smalltalk have tried many other languages in professional contexts and are simply compelled to use it. There are lots of reasons why programmers unfamiliar with Smalltalk are missing out, even if they don't or can't use it. It's a powerful idea. I've described some of these in a letter to the editor of Dr Dobbs about a year ago. Smalltalk repeatedly surprises even its afficianados with rediscovered power and grace.
And if you want to see some of the other reasons Smalltalk wins, check out John McIntosh's site, Peter Lount's place, and the nifty (IMO) Dolphin Smalltalk.
-
Re:How about some BigtalkMonty Kamath has a huge list of organisations doing real world work in Smalltalk (220 entries): http://www.goodstart.com/whoswho.shtml.
Another list is on the VisualWorks Smalltalk Wiki, at http://wiki.cs.uiuc.edu/VisualWorks.
A list of Cincom Smalltalk (i.e. VisualWorks or ObjectStudio) success stories is at http://www.cincom.com/scripts/smalltalk.exe/small
t alkSuccess/index.asp?content=customerProfiles. Unsurprisingly perhaps, that site is running on VisualWorks... -
Re:Useful things in Squeak?Squeak does have some rough edges since it is mostly a research platform (although companies (other than Disney) are starting to use it for real world projects). However, to prevent your comments on Squeak from being generalized, I have some objections to your rant:
And don't ask them to try and learn the language either, because there's no documented API, and the purportedly self-commented code really isn't.
Learning Smalltalk is probably the easiest thing in the world, if you know the conceptual OO stuff, which is the same as for Java,C++,CLOS,... There are only 5 reserved words (true, false,nil,self,super). It literally takes you half an hour to learn Smalltalk syntax.
Since Squeak is mostly a research platform, the code might not be documented so well in some places. However, you have superior code browsing in every Smalltalk IDE and the entire code of your library is open source. So you do not only have the comments to the code, but also the code itself, if you care. BTW, the Smalltalk frameworks have been refined for over twenty years now. Talk about clean frameworks.
Also (and yes, I realize I'm reaching here), but the syntax is all backwards. It's not sufficiently like natural laugnage to be easy for beginners to use, and it just frustrates experienced programmers used to nearly every other language (i.e., based on C).
I came from C++ to Smalltalk and I cringe whenever I have to go back. Smalltalk code is readable as almost normal text, whereas you often do not see the forest for all the parenthesis in C++ or Java. For example:
In Java:
...
synchronized (this) {
while (aNumber > 0) {
try() {
wait();
} catch (InterruptedException) { ... }
}
TheCriticalCode
} ...The equivalent in Smalltalk:
...
self synchronized:
[ self waitWhile: [aNumber > 0].
TheCriticalCode ] ...Squeak might not be what you want for normal product development (checkout VisualWorks or one of the other 8 commercial Smalltalk implementations), but within the Squeak world, certainly the most exciting stuff is happening.
-
I did this around Sept 97 myself...
...because it was the obvious way to implement something. I doubt it was that much less obvious in April. Basically I had to put stuff in the URL that was being put in cookies in the existing application I was modifying, so that it would work even if the user didn't accept cookies. The stuff in the URL/cookies was a pair of numbers identifying the user and the page to the application-server. I was using VisualWave which was created before April 97 (in 1995 I think?) so possibly someone had done it before me.
-
Bad business sense, mostly
To oversimplify, there are two big reasons
- The first is that the syntax and the environment are a shock for people raised on file-based, statically typed, "edit it in vi" type of languages.
- The second and more important are the business reasons. Smalltalk was doing quite well commercially in the early 90's, but mostly in the high-end corporate developer space, with costs of thousands of dollars per developer seat. IBM had a big push behind it. This frightened the two other big commercial vendors, who attempted to merge, failed disastrously, and left IBM almost alone in the market, a position it didn't want to be in. With the high-price policies there was no low-end or open source base to sustain it. Then Java came along and picked up a lot of the pieces.
Nevertheless, Smalltalk has refused to go away. Significant open source efforts have started with things like Squeak and Camp Smalltalk, and even in the commercial world VisualWorks has a free download and Dolphin Smalltalk is an inexpensive very nice, clean windows environment. For a language that doesn't get used much, it runs fabs, auto assembly lines, massive payroll systems, and untold numbers of financial systems including a very respectable fraction of the stock trades in the United States.
Disclaimer: I recently quit a Java startup (WebGain) to go work for Cincom on Smalltalk development.
-
Bad business sense, mostly
To oversimplify, there are two big reasons
- The first is that the syntax and the environment are a shock for people raised on file-based, statically typed, "edit it in vi" type of languages.
- The second and more important are the business reasons. Smalltalk was doing quite well commercially in the early 90's, but mostly in the high-end corporate developer space, with costs of thousands of dollars per developer seat. IBM had a big push behind it. This frightened the two other big commercial vendors, who attempted to merge, failed disastrously, and left IBM almost alone in the market, a position it didn't want to be in. With the high-price policies there was no low-end or open source base to sustain it. Then Java came along and picked up a lot of the pieces.
Nevertheless, Smalltalk has refused to go away. Significant open source efforts have started with things like Squeak and Camp Smalltalk, and even in the commercial world VisualWorks has a free download and Dolphin Smalltalk is an inexpensive very nice, clean windows environment. For a language that doesn't get used much, it runs fabs, auto assembly lines, massive payroll systems, and untold numbers of financial systems including a very respectable fraction of the stock trades in the United States.
Disclaimer: I recently quit a Java startup (WebGain) to go work for Cincom on Smalltalk development.
-
VisualWorksYou'd be hard pressed to find a much more portable GUI building toolkit than VisualWorks Smalltalk from Cincom. At my company, we have developed an extremely rich touchscreen GUI for machine control (in the food processing industry), and we have beed very satisfied with VisualWorks. A non-commercial version is available for download (and you're free to use it for development up until you deploy). Features include:
- True Object-Orientation: Smalltalk-80 was developed at Xerox PARC under the leadership of Alan Kay, who coined the term "Object-Oriented". In Smalltalk, everything is an object -- there are no primitive types. Simpler is better.
- Elegant Syntax: it's not like C, C++, or Java -- and why would you want it to be? OO is a new paradigm, and we can all use some help thinking in new ways
- Bit-compatible across platforms: All that's needed to switch platforms is a new virtual machine. Think Java+Swing on steroids (after 20 years of smoothing wrinkles out). VisualWorks runs on Linux, Windows, Mac, Solaris, HP-UX, and more -- and it's done these things for years.
- Fast Object Engine (Virtual Machine)
- Refactoring Browser: effortlessly refactor your code with this powerful tool
--
-
Smalltalk: Syntactically/conceptually simple.You should seriously consider using Smalltalk.
One of its original design goals was to teach programming to children. That's one reason why it doesn't use static type checking, has a very simple and regular syntax, and has a very simple denotational semantics ("everything is an object").
You want a "Hello, world!" example? Here it is:
(ScheduledWindow new component: 'Hello, world!' asText asComposedText) open.Did I mention that the single statement above doesn't just print "Hello, world!" to the screen, it opens a fully functional window that displays "Hello, world!"? "Fully functional" means the window can be moved, resized and collapsed.
If you just want the traditional to-the-console implementation, that would be:
Transcript show: 'Hello, world!'.In addition, it has a huge, very mature library of programming tools, widgets, data structures and data types. It's a highly reflexive language: classes and methods are objects, threads are objects, method activation frames are objects, the thread scheduler is an object, and global and local namespaces are objects. All source code for all parts of the system is provided. This means one can quickly and easily look deep into the system and see what's happening, and why. When an exception occurs, you can inspect the state of all variables in the current activation frame, or in any activation frame in the stack. You can single step over, or into, any message send. You can proceed past the exception, or restart from the beginning of any code block in the stack. You can find all objects that directly reference some object, or all reference paths to an object from the system "root" object (the same object the garbage collector uses to decide whether an object is collectible).
One vendor (Squeak) even provides full source code to the virtual machine--completely free!
Smalltalk's IDE is still superior to anything else, period, end of discussion. It's a completely "pure" OO language. It runs on all flavors of Windows, Solaris, HP-UX, AIX, Linux and MacOS.
And you can download it for free from here
-
Squeak does Alice
The Smalltalk implementation called Squeak, mentioned in other threads, comes with a workspace (known as a project) that has an Alice 3D graphics demo - it has a little energizer bunny that you can move, pan the camera around, explode, make hop, spin, etc.
I'm biased, but Smalltalk has a long history of being used as a kids programming environment. You may want to look at LearningWorks, which has a simplified interface just for teaching. It is based on VisualWorks Smalltalk.
I'm also experienced - when I have tried to teach my older children programming, I found that they would like to see something. Our first pass ended up being teaching them HTML so they could put up a web page. I am going to try Smalltalk again this summer. -
I'm thinking of signing up.
I figure, it might be a good way to motivate myself to keep in practice with some skills I don't use very often.
When I'm coding for myself, I tend to gravitate to a small number of tools I really like, and tend to not use other tools that I know.
As an example, last year I was using SmallTalk all the time, as I was involved in projects that used it. I haven't touched it since.
(Java, c++, and rxml/pike are what I've used the most recently.)
I intend to list myself in their database under skills I have experience in, but need motivation to keep in practice with.
If I get picked, I'll be forced to stay in practice! -
Re:How about Smalltalk?There are at least 2, maybe 3 Smalltalk flavors that would allow cross-platform development with less pain than Java:
- Squeak (www.squeak.org) is bit-compatible across several platforms -- just ftp your image over and run it. Open-source under a liberal license.
- VisualWorks (www.cincom.com/visualworks/) also runs bit-identical across Linux, Solaris, Windows 95/98/NT, PowerMac, HP-UX, etc. My personal favorite, though it's not truly open source. You can see all of the source to the class libraries, you just have to pay the vendor when you want to deploy
- Smalltalk X (www.exept.de) has recently been ported to NT.
We have a large machine control system written in VisualWorks that we ported to Linux one afternoon (in about 45 minutes) -- the only difficulties were external Windows DLL calls that we were making (e.g., bring up the native windows file dialog).
See also: www.whysmalltalk.com
-
Smalltalk
"using the same code base on multiple platforms and multiple languages"
Same code base with multiple languages? How about just doing it with one language. Smalltalk.
VisualWorks Smalltalk from Cincom runs on a boatload of platforms including Linux and has distributed features. The application can be generated once and dropped on any platform and will run without modifications (Where did you think Sun got the idea?)
Also, IBM VisualAge for Smalltalk (VAST) has similar features that make it easy program distributed apps. However, you will have to "recompile" for each targeted OS. They have not release VAST for Linux yet, however it is coming soon since VisualAge for Java is on Linux (VA/J was written using Smalltalk).
In terms of development time, coding/testing a Java application would be faster then coding/testing a C/C++ application. Coding/testing a Smalltalk application would be faster then coding Java.