I really liked my introductory courses at TU Berlin back in the mid-nineties (has unfortunately been javaified since...)
The two first year mandatory courses would start more or less from zero with two different paradigms: functional programming and assembler, based on a mini-cpu we'd more or less wire up from scratch.
The rationale for the functional part was:
Give everybody the same starting point (assuming nobody was familiar with functional)
Present programming as a manipulation of uniterpreted formal expressions (see the Dykstra article from Dec. 2nd, a very good read!)
Introduce students to formal signatures and program verification
The rationale worked out surprisingly well (for me at least). Although not everybody was happy with that choice, the people with the most problems were those who ran into real trouble with the whole subject later on...
The "hardware" based assembler course gave some insight into down-to-the-metal imperative machine programming, and the mode of operation of a real processor. Could have been more dense, but was interesting nonetheless.
A 2nd year course with all 4 major paradigms (basically 3 programming assignments in all 4 paradigms, with subsequent analysis and comparison) was a very valuable conclusion of the "Introduction into Programming".
If I were facing the choice, I'd choose functional programming as the "best paradigm" for a first year (university) programming course.
As is often pointed out, one of the most important properties of a "secure" system is not how hard it is to break, but how graceful it degrades in case of intrusion or failure. I understand that Windows already implements some techniques in this vain (monitoring of background process, user feedback in case of suspicious behaviour). Many of these options are rather annoying, however, which often prompts users to switch them off entirely. What are the next steps you plan to make Windows degrade more gracefully? Will you try to automatize these processes (possibly with AI techniques), or will you try to "burden" the user with a more elaborate access privilige system?
I think this illustrates nicely the only valid argument in vavour of software patents in good old europe:
"If they can patent crap, we need to patent crap, too! To defend ourselves!"
By means of such patents, the worlds biggest market for electronic products can be blocked (or, rather, turned into a cash cow). Every international vendor has to buy licenses, otherwise they can't sell in the usa.
all three compatible with the original jvm 1.0 specification.
But to be honest: this seems to be a real great step for java. programmer with a certain need for aesthetics (and self regard) can now really use this language...
As it seems, they are not there yet. But there's a patch from the galeon guys, who seem to be working on that too. You can find the respective hints here (galeon2 installation instructions).
What made you believe ...?
on
Ask Donald Becker
·
· Score: 3, Interesting
What made you believe in the future of Linux? What justifyed the efforts you put into its development? Was it rather the spirit of the community in the early days or maybe rather the realization: "This is _my_ tool, better suited than *BSD, and I can bring it to the point I need it to have."?
I really liked my introductory courses at TU Berlin back in the mid-nineties (has unfortunately been javaified since...)
The two first year mandatory courses would start more or less from zero with two different paradigms: functional programming and assembler, based on a mini-cpu we'd more or less wire up from scratch.
The rationale for the functional part was:
The rationale worked out surprisingly well (for me at least). Although not everybody was happy with that choice, the people with the most problems were those who ran into real trouble with the whole subject later on...
The "hardware" based assembler course gave some insight into down-to-the-metal imperative machine programming, and the mode of operation of a real processor. Could have been more dense, but was interesting nonetheless.
A 2nd year course with all 4 major paradigms (basically 3 programming assignments in all 4 paradigms, with subsequent analysis and comparison) was a very valuable conclusion of the "Introduction into Programming".
If I were facing the choice, I'd choose functional programming as the "best paradigm" for a first year (university) programming course.
Mr. Nash,
As is often pointed out, one of the most important properties of a "secure" system is not how hard it is to break, but how graceful it degrades in case of intrusion or failure. I understand that Windows already implements some techniques in this vain (monitoring of background process, user feedback in case of suspicious behaviour). Many of these options are rather annoying, however, which often prompts users to switch them off entirely. What are the next steps you plan to make Windows degrade more gracefully? Will you try to automatize these processes (possibly with AI techniques), or will you try to "burden" the user with a more elaborate access privilige system?
- How often are functions called (and branches taken)
- Which functions take most of the time
- See the assembler code for each line with a mouse click (no need to guess anymore)
callgrind/kcachegrind is by far the easiest profiling solution I ever tried, and it seems answer more or less all of your questions.I think this illustrates nicely the only valid argument in vavour of software patents in good old europe:
"If they can patent crap, we need to patent crap, too! To defend ourselves!"
By means of such patents, the worlds biggest market for electronic products can be blocked (or, rather, turned into a cash cow). Every international vendor has to buy licenses, otherwise they can't sell in the usa.
my favorite language (extension) for the vm has always been pizza. It gives you said generics, but also
- first-class functions and
- algebraic types (think functional pattern matching)
all three compatible with the original jvm 1.0 specification.But to be honest: this seems to be a real great step for java. programmer with a certain need for aesthetics (and self regard) can now really use this language...
As it seems, they are not there yet. But there's a patch from the galeon guys, who seem to be working on that too. You can find the respective hints here (galeon2 installation instructions).
What made you believe in the future of Linux? What justifyed the efforts you put into its development? Was it rather the spirit of the community in the early days or maybe rather the realization: "This is _my_ tool, better suited than *BSD, and I can bring it to the point I need it to have."?