> I work in C# (worst language EVER!) You lose all credibility right there. C# is far from the worst language ever, and a pretty decent one among mainstream object oriented languages.
He loses all credibility because he don't like you religio.. I mean language? Strange metrics of credibility. I disagree with you, therefore you have no credibility.
I finally understand why I'm not allowed to use Lisp
101–110 of 121 posts
Re: I finally understand why I'm not allowed to use Lisp
#102Earlier quoted context omitted.
I'm not sure where managers come into the discussion, but the second example is good, but even better like this: arr.sum()
In what language are arrays of numbers their own class?
Re: I finally understand why I'm not allowed to use Lisp
#103Earlier quoted context omitted.
My understanding is that Microsoft hired the IronPython developer full-time for a period of years. I think that it's only natural that MS would target Mono if they felt it was a threat. Right now it is in their interest to support Mono because it introduces more people to C# and MS feels that this is good for the long-term health of their platforms. They are also able to iterate quickly enough that Mono (and Moonligh…
Linux is a big threat, given how they have destroyed a lot of Windows Server's market. And I'm pretty sure Microsoft has a few patents on operating systems, that they could sting Linux for. However, there are too many developers who would riot (i.e. advise their boss not to go MS) if MS started playing too dirty.
Microsoft has tried to underhandedly support efforts to kill Linux (like buying tons of crap from SCO after its suit was filed), but they haven't gone "all out" yet. I don't think that means that they won't ever do that. Again, the deal with Novell is posturing; by offering customers the guarantee that they won't get sued for using Linux by MS, they are essentially saying they may sue non-customers as they feel appropriate.
Microsoft's cash cow has always been in the desktop -- desktop OS and office productivity suites. This is the market they'll fight to the death to protect. Bringing legal action against Linux now would only serve as a distraction and a big PR help to things like Ubuntu, exactly what MS doesn't want. They seem to understand the Streisand Effect. There's no point attacking an enemy that is struggling for traction.
Re: I finally understand why I'm not allowed to use Lisp
#104A better question is whose going to maintain all those for-loops that are buggy because human error means even a basic thing like a loop will get screwed up. Managers are always talking about code reuse but as soon as you pass a function, they are like "Woah thats crazy how can we maintain that" Only managers would think that int accum; for(int i = 0; i is more readable and maintainable than... arr.sum(x => x) Oh loo…
His code must have looked like this:
public delegate TResult Func(T input);
public delegate TResult Func(T inputA, U inputB);
public static TResult Fold(IEnumerable collection, TAcc state, Func f)
{
TAcc acc = state;
foreach(T item in collection)
{
acc = f(acc,item);
}
return acc;
}
//[...]
public int FunctionalMasturbation()
{
int totalWithdrawed = Fold(0,_withdrawals,
delegate(int acc, int value)
{
return value+acc;
}
);
//...
}
This is an abomination. Right, for developers with a background in FP, than it's pretty clear what's going on, even if it looks like puke. But in 2007 you could hold a conference for all .net devs with knowledge of Functional Concepts in a telephone booth.Re: I finally understand why I'm not allowed to use Lisp
#105Earlier quoted context omitted.
I'd say clever is defined by your audience. If you're writing something that others on your team would consider clever, then you're responsible for making sure they understand it. Even if that means losing whatever time you saved by writing something clever (the advantage is still creating a smarter team though). Responsible developers write a lot less clever code because it means they feel obliged to comment the cra…
Your response assumes that clever code exists to save time writing programs, and that for any problem there are a wide range of equally good solutions possible from "takes a long time to write but is easily readable and maintainable" to "quick to write but impossible to read and maintain by those who don't have doctorates in functional programming idioms." I don't dispute the existence of code that is unnecessarily c…
If "clever" is often necessary to avoid things like conflating concerns or introducing dependencies, I think this points us in the direction we need to take in improving programming languages. (Off the top of my head, this applies to both Ruby and Smalltalk.) Though, I've also observed that bolt-ons to programming languages to address these issues are often a bit too "clever" themselves. (Example: The original implementation of Objects in Perl.)
Re: I finally understand why I'm not allowed to use Lisp
#106Earlier quoted context omitted.
The only benefit I'm aware of is slightly faster code and even then the dynamic version is almost always more readable and easier to maintain and refactor. The ideal would be a dynamic language with optional static typing but I have yet to see a language like that.
> The ideal would be a dynamic language with optional static typing but I have yet to see a language like that. That would be Common Lisp.
There was such a version of Smalltalk called Strongtalk, but it never got a community behind it.
Re: I finally understand why I'm not allowed to use Lisp
#107Earlier quoted context omitted.
IP in Mono falls into several categories. 1. There is stuff covered by the ECMA/ISO standards. This is covered by the Microsoft Community Promise, which is legally binding. This stuff is safe from Microsoft. 2. There is a lot of .NET stuff that Microsoft has released under the Apache 2 license, which includes a patent pledge. If any of this stuff is implemented in Mono, it is safe. 3. There is stuff in .NET that is n…
My understanding is that Microsoft hired the IronPython developer full-time for a period of years. I think that it's only natural that MS would target Mono if they felt it was a threat. Right now it is in their interest to support Mono because it introduces more people to C# and MS feels that this is good for the long-term health of their platforms. They are also able to iterate quickly enough that Mono (and Moonligh…
Re: I finally understand why I'm not allowed to use Lisp
#108Earlier quoted context omitted.
The ad hominem was made against techrights, not against me. I didn't even make an argument. I just linked to a few articles that criticized Microsoft's "Promise". Did tsz address the substance of techrights' argument? No. He just smeared them by implying that merely citing an article by them would make me lose credibility. That is a perfect example of an ad hominem. Attacking me was more of a case of shooting the mes…
> smeared them If you do a Google site search on that blog you'll see that the term 'smear' is used endlessly and quite carelessly by the author. It's interesting to see that you use it in the same way - and like the author I don't think you understand very well what the term means. I sure hope "gnosis" isn't one of the various aliases the guy allegedly uses across the internet, including on Slashdot where he became…
But, be that as it may, I'll just say that yesterday was the first day I've even heard of techrights, when I found their site through a google search.
And, honestly, I don't even care much about Mono. I'm just very suspicious of anything originating from Microsoft, and the techrights and FSF articles support these (well founded) suspicions.
Re: I finally understand why I'm not allowed to use Lisp
#109Earlier quoted context omitted.
> Smart developers write complex code, just because they can (and often it does make it shorter), but then mid- and junior-level developer struggle with it. You know, I can't help but be reminded of Harrison Bergeron when I read this. I'm waiting for the day when someone comes up with a handicap for programmers so that we can all write code with the same ability as the least intelligent and least experienced members…
"I'm waiting for the day when someone comes up with a handicap for programmers so that we can all write code with the same ability as the least intelligent and least experienced members of our teams." Java? ;-)
Re: I finally understand why I'm not allowed to use Lisp
#110> I work in C# (worst language EVER!) You lose all credibility right there. C# is far from the worst language ever, and a pretty decent one among mainstream object oriented languages.
The author's qualm, coming from a Lisp POV, is most likely that if you are a consumer of C# 1.1 you can't just build C# 2.0 or 3.0 or 4.0 features. Using Lisp, he had access to everything that would eventually become C# features and then some, because if you want a fancy new language feature in Lisp you just add it. You don't have to touch the compiler (you write functions, macros, or a micro-compiler at the limit).
So there's some hyperbole there, but it's true that C# 2.0 or 1.1 was really not anything special and felt a lot like "Microsoft's Java" at the time.