The implementation I'm using is really small (and contains every single symbol of the CL specs).
And: as I'm doing real-world apps in CL, I'm often very happy with some (little) more complexity to gain the required performance needed.
Really, there is no real waste in Common Lisp, although this seems not to be a very popular opinion nowadays...
After spending 5 years in nothing but .Net, the CL libraries seem rather sleek and streamlined to me! I was always a little confused when people complained about the bloat in CL.
From a pure Lisp perspective, it's maybe not the really very best choice, but from an OS viewpoint, it's simply the most convenient for my tasks (Apple, Windows, Linux, free, really fast inline C FFI).
Compressed its size can be as small as 1(!) MB on some OS.
Microsoft wants to keep developers very busy learning _their_ terminology and development tools so that there is no time to learn any other: e.g., W3C terminology, Apache, PHP or cherry.py.
What better way than to rename everything that already exists in W3C and add even more new terminology from the Microsoft's tools.
Learning to use Microsoft's tools with any degree of skill means that you simply won't have time or memory to learn much else. Most developers won't have sufficient time to learn even learn Microsoft's tools! The result: a brain full of cryptic terminology that no one understands except another unfortunate who made the same mistake.
And when Microsoft releases the "next generation", everything you know will instantly be labelled as obsolete, inefficient and bug-ridden by Microsoft. Not exactly a "career path."
Any developer considering studying .NET (or any other technology) should ask himself: In the long run what is the most profitable action that I can do next?
I venture that the answer is rarely "learn .NET". Even if the boss just ordered you to learn .NET, the answer to the above question is more likely "Send out my resume."
Typical response, IMO - A lot of professional developers use .NET and Visual Studio, create great apps and make good money - I've worked in the videogame industry and now at a web startup. In both instances, we have used MS development tools to varying degrees. At the game studio, we primarily used visual studio - We preferred visual studio for a lot of reasons which I dont feel like enumerating in quick post; Developing for cross platforms, VS was the best choice and supported by all first party vendors (SONY, MS, NOA).
Although it might be the trendy thing to bash MS, their developer tools and support are very good - Yes, .NET libraries and API's are certainly bloated in certain areas, if so, hack it to your liking and create a smaller footprint - .NET is very flexible and is really not that hard to learn; You make it sound like learning MS technologies and other development tools/languages are mutually exclusive, when in reality anyone who has coded .NET knows that to be untrue
If you are asked to learn .NET in a professional environment and your response is 'Send out my resume', I'm not so sure I would like to have you on my development team. (goes both ways I suppose, if you dislike .net so much, you should find an environment/job where you can develop to your preference)
Seems like I'm a shill for MS ;) I'm not, I just think they deserve a bit more credit than they are given - in my current job we develop in a mixed mode environment with MS & LAMP (might sound weird, but it works)
But its not that bad. You just use it and when you run into a problem you look it up. Thats what API docs are for. The same holds for java. Most programmers aren't going to be using the whole library, just a little of it.
And autocomplete in visual studio does a lot of that thinking for you. You'll use a hundred different methods without thinking about it quicker than you'll know.
I threw together a program that read and wrote from the serial port and did a bunch of stuff in like 1 day. Between googling for examples and a tiny bit of help from a friend who programs c# it was very straightforward.
Nothing personal, but this is the biggest load of crap I've read for awhile. It's just complete and total FUD.
Personal preferences aside, .NET is no different than any Java, Ruby/Rails, or any other programming stack. Programmers typically gravitate towards one stack or the other based on experience. Microsoft doesn't have any sort of "evil plan" to fill your mind with .NET.
As for choosing a career path, while .NET isn't the trendiest stack, there are definitely plenty of jobs to be had, just like with Java. It's true that if you're interested in working for a startup, you might want to learn Python or Ruby, but if you're interested in job security (which is what you're talking about), you better stick with the "enterprisey" stacks like .NET or Java.
I'm a .NET developer, but I'm not a huge fan of Microsoft. Still, I can't stand it when people claim that everything Microsoft does is some sort of evil plan. No one is claiming that 37signals is trying to take over the world because they promote the use of Rails.
I wonder why on earth someone at Microsoft don't work on taking stuff away from .NET platform. If someone at the company is already doing it I would really love to know after-effects but it seems otherwise. On a side note, Microsoft also seems to be disconnected from their Gold partners & this is horrible. I know a Gold Partner. They were rolling out their own MVC framework & by the time they finished developing it Microsoft announced their MVC framework :)
I wonder successive releases make the Mono team cringe. Then again, despite not supporting every new type from every namespace, you can write really rich applications in Mono. There's always a core set of types that tend to dominate your application.