142 karma · joined February 26, 2009
It's as if RIM consists of hard core business people and hard core engineers, both wearing blinders while cheering each other on. There are no 'normals' to care about how one feels about developing on the platform, to care about initial experiences, documentation that doesn't frustrate. If it's like this at the developer level, who is there is care about the end user? If I was a developer on BlackBerry back then, I would have jumped on the iOS opportunity. Today, you can't even pay previous BB developers to work on BB, they have moved on and want to enjoy their work. The few sticking it out know they can charge pretty much whatever rate they want. A smart phone without apps is a dumb phone.
I would love to find a fast, scalable open source db that implements Foundationdb's features.
Maybe you know better, the author could have put things better. But I am sure a lot of people don't know, I know I was one of them. Even after a long time Smalltalker gave an enthusiastic (to put it mildly) 2 hour demo. Now I've become the rabidly enthusiastic one, but most people think I am passionate about historical programming languages.
What other environment can you trivially do this: - can't find a method, but know what you want: provide sample inputs and an output, and (at least Pharo and Squeak Smalltalk) will find you all methods that produce the output. - trouble visualizing relationships while debugging? Script some code in a few minutes that become part of your debugger to see what is going on. - really code live - there is "hot swapping", but it's something bolted onto a rigid foundation, and eventually fails. In Smalltalk, it's a foundational element.
Though the author could have put things differently, it can be difficult when so much that is mainstream feels so primitive, with layer upon layer of cruft bolted on. Programming in Smalltalk is uninterrupted bliss, then I go to work and use tools that have roots that predate Smalltalk, but Smalltalk is talked about as the "old" curiosity.
Excuse the rant - Smalltalk makes me feel like I am using a polished and refined set of tools, and then day to day I run around with crude stone tools, the "modern" way. I think the author feels the same way.
Does anyone know if there have been studies to back this up? Or studies that back up the above comment.
My experience is that programmers who enjoy warping their minds with something different tend to be more capable, or at the very least, up for a challenge. Would be nice to see something else than anecdotes.
I remember reading how Feynman was unhappy with his work and then chose a seemingly useless but fun and interesting problem to solve - the physics of plate wobbling (If I remember correctly, the relation between the wobble rate and spin rate of a plate that has been tossed into the air).
His colleagues were a bit confused as to why he would do this, but he had fun and his love for physics was rekindled.
Some years later the mathematics he derived would be used when the first satellites where launched and wobbled as they spun, the wobbling not being desirable. Not bad for useless and fun work!
I really like that it is incorporating good parts of many, more terse languages. Nothing wrong with selectively absorbing good ideas.
But a huge part is the interactive nature. I dabbled in Smalltalk some years ago and have been annoyed at compiled languages ever since, resorting to things like http://injectionforxcode.com to gain some of that back (on iOS).
Having a live environment can only be appreciated once it has been taken away. I think developing for Apple devices might just become one of the more programming pleasant experiences.
[ ] does not mean method call, it is the syntax for a message send.
Objective-C is a super set of C, adding an Smalltalk like object system to C. The delimiters say "I am sending a message", which is different to a method call. Also, without them the language would be much more difficult to parse, and future changes to C could break the language. It's lasted well (first appeared in 1993). Not as long as Lisp, perhaps it needs more [ ] :)
It is an appropriate name however. After dabbling in Forth for fun, I became very aware how fleeting and unnecessary local variables are.
Since then I use these kinds of 'completions' by using the extract variable refactorings, and various intent transformations - they added a syntax to existing tools.