I'll take it a step further. Borland/Inprise/whatever is such a bad company that I'd never knowingly start a serious project that depends upon them or their products in any way.
Never *ever* again.
When Borland (then Inprise, then Borland again, then Codegear(?) ) stopped making sober RADs and decided to take a chance on expensive toys for code management, they lost in both fronts. The Turbo Series (Pascal, C and Assembler) and Delphi (the odd versions, 1, 3, 5 and 7) seriously competed against Microsoft products (Microsoft C, Assembler, Visual Series), even outselling them in a lot of places in the world (Brazil, for instance).
Two things made Borland wreck their scene: 1) losing their creative minds to Microsoft, specially Anders Hejlsberg [wikipedia.org], creator of nothing less than Turbo Pascal, Delphi and main architect of C#. 2) losing their focus (from useful RADs to expensive but totally good for nothing "Application Lifecycle Management" (whatever it is).
Had kept the focus and the creative minds, either.Net would not exist (and consequently, stole Borland's thunder) or the Borland tools would be better even than the Microsoft ones on that fronts (Delphi 8 almost got there, initially). Borland died a sad death, and what we see now is nothing but Post Morten flatulence.
Here are a few reasons you might need proficiency in assembly language:
You're writing software for a low-speed or low-memory chip for an embedded system (e.g. one of the PIC chips). Such chips are used either because they are cheap or because they need very little power. You can often program these chips in some variant of C, but if you need that last drop of performance, you use assembly.
You're writing a compiler. In this case you may not have to write assembly directly, but you'll have to understand it intimately in order to convert source code to machine language. (Replace "assembly" with "bytecode" or "IL", if making a Java or.NET compiler)
You are reverse-engineering closed-source software (another case where you must comprehend assembly)
You're designing or testing a computer chip, in which case you may have all sorts of tests cases written in assembly language.
You're maintaining an old "legacy" system that uses assembly.
You're writing an emulator for another computer, and you need high performance. In this case you may need to understand the assembly language of both the real and emulated machines, as I learned when I wrote a Super Nintendo emulator.
Those bastards make you study it in one of your college courses.
Sun will sell you a 900 dollar workstation with unix installed. Solaris of course. However, they will support that machine AND the os if you put a supported version of linux or Windows on it. Why can't dell do this? Because dell s.... and sells to people that enjoy commercials that use the word 'dude'.
This whole concept of distributors and software vendors protecting themselves (and engineering some lock-in, incidentally) by certifying, or certifying for, certain distributions just isn't helping Linux or open source software get more widely used.
a lot of "techies" don't have artistic ability, but would you really want an artist to design your perl scripts? a plumber can go to his local library and learn about prescription drugs, but you take his medical advice? people are good at different things. no artist is going to replace a techie's job unless they're also geeks, in which case calling them "artist" does not imply "not geek".
I recently installed modsecurity http://www.modsecurity.org/ for apache along with the rules from http://www.gotroot.com/ and it's done a good job of blocking attacks on my server including a lot of the php mail() injection attempts.
In this url, http://www.microsoft.com/mscorp/java// , it is stated,
The MSJVM will reach its end of life on December 31, 2007. Customers are encouraged to take proactive measures to stay informed about obsolete software and move away from the MSJVM in a timely fashion. The MSJVM is no longer available for distribution from Microsoft and there will be no enhancements to the MSJVM. Microsoft products and SKUs currently including the MSJVM will continue to be retired or replaced by versions not containing the MSJVM on a schedule to be announced.
Hope this proves to other companies that being Open Source and giving away your software for free can in the long run actually be profitable and make you many lovers along the way. Been using mySQL for years and love it. It set the way for free databases for using for projects on webhosts world wide.
If you read the article, you will see that Mrs. Crawford does not even come close to saying that "Software is at Dead End". She says software needs to catch up with the hardware.
Computers have more and more processors (and different kinds of processors, like GPUs), and currently most software isn't designed for that kind of environment. IBM has developed some clever ways to program these types of systems in a "general purpose" way.
That's the worst summary of a headline that I've ever read.
I agree that Linux needs a modern, stable, bytecode-based, object-oriented, cross-platform language and runtime. For Windows this is.NET. The corporate reality is that C#.NET is replacing C++ as the standard language for enterprise development and GUI application development. If I knew this in advance, I would save my time by investing more on C#. As a language, C++ hasn't kept-up fast enough, and to turn C++ into a platform you need a whole variety of 3rd-party libraries..NET is a one-stop solution and it is a joy to program in.
Ozgur Uksal
http://www.wikipedia.org/
students should really be studying computer science, not programming. They shouldn't learn how to do a binary search, they should learn why it's such a powerful technique. The implementation falls out naturally from the description. Likewise for trees of various flavors. Teach them how to identify the language features that best support the algorithms they need, and let them figure out which language is most appropriate for themselves.
I'll take it a step further. Borland/Inprise/whatever is such a bad company that I'd never knowingly start a serious
.Net would not exist (and consequently, stole Borland's thunder) or the
project that depends upon them or their products in any way.
Never *ever* again.
When Borland (then Inprise, then Borland again, then Codegear(?) ) stopped making sober RADs and decided to take a chance
on expensive toys for code management, they lost in both fronts. The Turbo Series (Pascal, C and Assembler) and Delphi
(the odd versions, 1, 3, 5 and 7) seriously competed against Microsoft products (Microsoft C, Assembler, Visual
Series), even outselling them in a lot of places in the world (Brazil, for instance).
Two things made Borland wreck their scene: 1) losing their creative minds to Microsoft, specially Anders Hejlsberg
[wikipedia.org], creator of nothing less than Turbo Pascal, Delphi and main architect of C#. 2) losing their focus (from
useful RADs to expensive but totally good for nothing "Application Lifecycle Management" (whatever it is).
Had kept the focus and the creative minds, either
Borland tools would be better even than the Microsoft ones on that fronts (Delphi 8 almost got there, initially).
Borland died a sad death, and what we see now is nothing but Post Morten flatulence.
ozgur uksal
http://www.adobe.com/
You're writing software for a low-speed or low-memory chip for an embedded system (e.g. one of the PIC chips). Such chips are used either because they are cheap or because they need very little power. You can often program these chips in some variant of C, but if you need that last drop of performance, you use assembly.
You're writing a compiler. In this case you may not have to write assembly directly, but you'll have to understand it intimately in order to convert source code to machine language. (Replace "assembly" with "bytecode" or "IL", if making a Java or .NET compiler)
You are reverse-engineering closed-source software (another case where you must comprehend assembly)
You're designing or testing a computer chip, in which case you may have all sorts of tests cases written in assembly language.
You're maintaining an old "legacy" system that uses assembly.
You're writing an emulator for another computer, and you need high performance. In this case you may need to understand the assembly language of both the real and emulated machines, as I learned when I wrote a Super Nintendo emulator.
Those bastards make you study it in one of your college courses.
Ozgur Uksal
http://www.adobe.com/
Sun will sell you a 900 dollar workstation with unix installed. Solaris of course. However, they will support that machine
AND the os if you put a supported version of linux or Windows on it. Why can't dell do this? Because dell s.... and
sells to people that enjoy commercials that use the word 'dude'.
ozgur uksal http://www.adobe.com/
This whole concept of distributors and software vendors protecting themselves (and engineering some lock-in, incidentally)
by certifying, or certifying for, certain distributions just isn't helping Linux or open source software get more
widely used.
ozgur uksal http://www.oracle.com/technology/
a lot of "techies" don't have artistic ability, but would you really want an artist to design
your perl scripts? a plumber can go to his local library and learn about
prescription drugs, but you take his medical advice? people are good at different things. no artist is going to replace a techie's job unless they're also geeks, in which case calling
them "artist" does not imply "not geek".
http://webdesign.about.com/ ozgur uksal
I recently installed modsecurity http://www.modsecurity.org/ for apache along with the
rules from http://www.gotroot.com/ and it's done a good job of blocking attacks
on my server including a lot of the php mail() injection attempts.
ozgur uksal
In this url, http://www.microsoft.com/mscorp/java// , it is stated,
The MSJVM will reach its end of life on December 31, 2007. Customers are encouraged to take
proactive measures to stay informed about obsolete software and move away from the MSJVM
in a timely fashion. The MSJVM is no longer available for distribution from Microsoft and
there will be no enhancements to the MSJVM. Microsoft products and SKUs currently
including the MSJVM will continue to be retired or replaced by versions not containing
the MSJVM on a schedule to be announced.
what doest it mean?
ozgur uksal
Hope this proves to other companies that being Open Source and giving away your software for
F 5F8B6-8CC6-4529-8DE7-65732FA84347/
free can in the long run actually be profitable and make you many lovers along the
way. Been using mySQL for years and love it. It set the way for free databases for using
for projects on webhosts world wide.
ozgur uksal
http://www.cbronline.com/article_news.asp?guid=26
If you read the article, you will see that Mrs. Crawford does not even come close to saying
h tml?articleID=197001130/
that "Software is at Dead End". She says software needs to catch up with the hardware.
Computers have more and more processors (and different kinds of processors, like GPUs), and
currently most software isn't designed for that kind of environment. IBM has developed
some clever ways to program these types of systems in a "general purpose" way.
That's the worst summary of a headline that I've ever read.
ozgur uksal
http://www.informationweek.com/news/showArticle.j
I missed writing programs in C. Anyways, I think, the creator of Perl has also won that competition. C rules/rocks!!!
a ge)/
Ozgur Uksal
http://en.wikipedia.org/wiki/C_(programming_langu
That's a nice idea. I hope you go to get some goed work on it.
t ribute.html/
Ozgur Uksal
http://diveintogreasemonkey.org/patterns/match-at
I agree that Linux needs a modern, stable, bytecode-based, object-oriented, cross-platform language and runtime. For Windows this is .NET. The corporate reality is that C# .NET is replacing C++ as the standard language for enterprise development and GUI application development. If I knew this in advance, I would save my time by investing more on C#. As a language, C++ hasn't kept-up fast enough, and to turn C++ into a platform you need a whole variety of 3rd-party libraries. .NET is a one-stop solution and it is a joy to program in.
Ozgur Uksal
http://www.wikipedia.org/
students should really be studying computer science, not programming. They shouldn't learn how to do a binary search, they should learn why it's such a powerful technique. The implementation falls out naturally from the description. Likewise for trees of various flavors. Teach them how to identify the language features that best support the algorithms they need, and let them figure out which language is most appropriate for themselves.