vinayms
Joined 9 years ago
Joined 9 years ago
As for the mechanism you talk about, that's basically declarative style and a lot of platforms (for the lack of better word) do this, mainly in business logic and scientific applications. The most famous example is Excel. However, this style works like a charm only when the set of possible actions is predetermined, and is not conducive to creating new actions, which is why every single platform has some kind of scripting. And scripting is editing text. So there you go.
That's a seriously weak premise. A bicycle is more than a metal rod with wheels; it needs a good steering mechanism and driving mechanism, not to mention ergonomic seating mechanism. Humans have certainly had a lot of things in their blind spot which makes us wonder why it took so long, but bicycle isn't one of them. Eraser-butt-pencil, may be. Bicycle, certainly not.
Also, the sheer number of crazy models that happened in its evolution is a testament to the fact that a bicycle is anything but intuitive. Remember, it was an age where mechanical devices was a rage. It was sort of like the AI-ML of that era. There was a lot of activity by people of varying levels of expertise - from tinkerers to people who knew what they were doing to people who thought they knew what they were doing. Despite this it took that long.
So its absurd to start off with the said premise.
Points like material and manufacturing process are red herring IMO. This argument is backwards. What needed to be made was a prototype. The things mentioned would follow naturally. No one had to invent a "professional grade" machine at the word go. An example from software: HLL were not invented first and then OS were written in it, but OS were written first, and in the process people realized HLL would be more productive, and OS were rewritten in them.
The conclusion about cultural and economic factors also seems unconvincing. The only plausible reason could be the clout of horse carriage mafia or something like that which influenced the powers that be and stifled rival technologies.
In the exuberance of ecological conservation and all that, we must not overlook and override what nature would have done. For instance, one shouldn't plant a water sucking tree where it wouldn't naturally occur, and damage the balance.
At work? Yes. How did I handle it? I quit.
The good ones do.
> This is why most of the times, you just start using a totally new language, that way you buy into a totally new set of programmers, practices and community.
What happens when that new language reaches a stage where it needs new features?
I think new languages are unnecessary unless they comprehensively solve the problems of the existing ones, and don't create new ones of their own. I have always felt that creating brand new languages is more of a personal taste driven rebellion against the language one uses. When they find that its too cumbersome for their taste, or the clique in committee refuses reforms etc, those who can will go ahead and create, some evangelize successfully (I feel this is the case because I have created a few half baked languages over the years to challenge C++ lol).
As for Lisp and ML, being Indian, I had no access to these, even in CS section of the library, as you might understand. Many years ago I tried learning Scheme by/after watching the lecture series. I even have the book SICP. It is fun and elegant, refreshingly so, no doubt, but only till a point. I found once we venture into necessity for conditionals & data mutation, its unbearably cumbersome - I can deal with spaghetti C code but not this - may be I am conditioned by exclusive C++ usage. I tend to think those who stick to Scheme like languages and solve real world problems do it for bravado and cry when no one is looking lol.
As for design pattern, I don't see it being exclusive to OO. Its just a bunch of ideas to build software. One would have it for assembler as well if it was used for mass production (I wonder how it was in early days when it was exclusively assembler). Its certainly poorly used and abused, agreed.
https://github.com/vinayms2017/JEEP2018