As Smalltalk allows to write really readable code, I often wonder how much subconscious fear coming from the IT community itself is triggered by something like Smalltalk?
How strong the self-defence mechanisms would be if this system succeeds at allowing anyone to be equally able to program anything on the system?
Wouldn't be way "safer" for the statu quo of the IT community to hide implementation power behind the walls raised by the C learning curve?
Interestingly, the divorce between technicians and users/consumers is steady reversing the trend.
I, as a programmer, spend my days trying to express things as clearly as possible. Programming, as a whole field, is trying hard all the time to come up with safer and simpler ways to express precise thoughts.
Smalltalk is probably neat, but it’s not a magic bullet. There are no magic bullets. Anyone can’t be a programmer not because programming languages are hard. Anyone can’t be a programmer because you have to be able to think precisely, abstract, deal with complexity.
Yeah, the simple explanation as to why the programming community at large doesn't agree on languages or methodologies is that no one knows what they are doing. This is still a very new field. We're all just bashing rocks together. To declare some language or methodology as universally "better" just reveals a fundamental lack of insight into just how difficult the problem being solved really is.
> I, as a programmer, spend my days trying to express things as clearly as possible. Programming, as a whole field, is trying hard all the time to come up with safer and simpler ways to express precise thoughts.
Mmm... I'm not so sure. "Programming as a field" certainly does, in the sense that if you take it as a whole and look into the field, there are people trying for those things. But by and large, many programmers seem to revel in some degree of obscurantism.
Smalltalk was good and it inspired a lot of future things but it didn't succeed because it had a bad $ price / performance ratio in the 80s and the image system created too much coupling compared to files.
It is nice in some cases, but for example, string manipulation is pretty hard to parse compared to python because frequent operations are huge sentences. Pulling out json data that is presented as NSArray's and NSDictionaries was especially painful. That large amount of text makes it slower to parse and and thus your less productive. As PG said, the consistent factor in bugs seems to be lines of code. The more verbose and boilerplat-ish a language is, the more likely your going to have slip ups that cause bugs for similar functionality.
Ex:
[NSString stringWithFormat:@"%d items", itemCount] vs.
"%d items" % itemCount
or
json[@"keyA"][@"keyB"][0];
vs.
[[[json objectForKey:@"keyA"] objectForKey:@"keyB"] objectAtIndex:0];
Smalltalk, as used by enterprises in the 1990's was far from simple to program. Object oriented programming is a powerful tool to manage complexity, so Smalltalk programmers at the time used it to introduced then-new programming constructs that would confound trainee developers ...
* publish - subscribe
* everything is an object
* message passing
* naming conventions for Classes, methods, and parameters
* Image-based editing as opposed to word-processing style editors
and so on...
In its domain, for ease of use back in the mid 1990's, Microsoft Visual Basic was the best. See the pattern: Visual Works Smalltalk, IBM Visual Age Smalltalk, Microsoft Visual Basic.
How strong the self-defence mechanisms would be if this system succeeds at allowing anyone to be equally able to program anything on the system?
Wouldn't be way "safer" for the statu quo of the IT community to hide implementation power behind the walls raised by the C learning curve?
Interestingly, the divorce between technicians and users/consumers is steady reversing the trend.