Free Pascal 2.0 Released
Eugenia writes "After five years of development, Free Pascal 2.0 is ready and it includes support for many architectures and OSes. It now has threading support, interfaces, widestring and better Delphi support among many other new features. OSNews posted an article introducing the updated GPL compiler." petermgreen adds a list of some of the major changes since the last stable release: "Much better support for Delphi language features (especailly method pointers); more supported CPUs (AMD64, SPARC, PPC (32 bit), ARM) and platforms (Mac OS classic, Mac OS X, MorphOS, Novell Netware); a new and better structured Unix RTL Threading support; and a large number of internal changes including rewriting large parts of the compiler to make it more maintainable and easier to port to new architectures," and notes that "Visual parts of Delphi are being handled by a seperate project known as lazarus, which has not yet reached 1.0 but should do so fairly soon."
the more development tools, the better
time is a perception of a being's consciousness
time is your 6th sense, the wierd ones are 7+
and not meant in a trollish way, but what is Pascal used for these days? What are it's inherent advantages over other languages?
"I'd rather be a lightning rod than a seismometer." -Ken Kesey
In such a case, x and y *are* descriptive variable names :p
I remember in the early 90's making a code review on someone's pascal code. His program was underperforming running very slow. I found out he was passing a typedef'ed char array of 255 characters as value to some function. Pushing the entire array into the stack on every function call was killing performance. After changing that to pass the array as a reference the app performed drastically better. And that was just by adding 'var' in front of the parameter argument.
Pascal offers a good balance, forcing you to think about what you are doing, not merely how you are going to go about doing it. A lax style is often picked out by the compiler, and errors are often easier to see and correct.
The greatest advantage of Pascal, though, is that it is NOT used much in the workplace. This may seem odd, for something you're going to teach with, but think about it. It means that most people will be starting off fresh, rather than with bad habits, and means that you are learning about programming, rather than learning about some specific job. Jobs come and go, but software engineering will always be there.
Learning a skill for a specific job is only useful as long as that job is around. For example, if you learn Visual Basic today, you're market fodder if those jobs run dry by the
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
Because the Delphi dialect of pascal *is* such a good language, because FreePascal supports Delphi and because Borland's continuing support for Delphi (and certainly Kylix) is highly suspect at best.
Actually Borland's future is rather uncertain these days let alone their Delphi product support, so an open source cross-platform alternative for Delphi developers is most welcome addition to the FOSS landscape.
Gee, an article written in 1981 having some bearing on a language derived from Delphi?
haha, I don't think so.
Borland developed Delphi, they were not stuck in a rut because of a standard written in the 70s, any book penned by K&R, or ANSI, so over 10 years they gradually fixed everything that was wrong with the langauge and added some wonderful innovations.
The people designing the langauge were using it, tasting their own medicine so to speak, they knew what needed improvement and they did just that.
As an ex C coder, what I have learned is there's a lot C and C++ could learn from Delphi
And, of course, Software Tools in Pascal by Kernighan and Plauger
type system in Pascal Turing complete
I knew I would someday see someone actually claim this as an advantage of C++.
Really; template meta-programming is all the power of a Turing machine with all the ease-of-use of a Turing machine.
It should be a BIG hint that this Turing-complete nature was accidental. Unfortunately, as the C++ community is too screwed up to ever realize that this kind of thing is an utterly disgusting, mistaken, malformed, crude hack, it will never get fixed. Instead, it will be touted as a feature until kingdom come. And no other mainstream language will ever try to provide a truly powerful but actually sanely implementable version of this kind of programming. Hint: Something like Common Lisp macros are what you really want: Meta-programming using the same language as the regular programming, instead of an INTERCAL-like wrapper around the already syntactic chaos that is C++.
People that get caught up in pissing contests typically don't reach 2.0
If you'd used Delphi, you'd realize you were wrong. Delphi's class libraries can teach one an awful lot about OO design in an unmanaged world; how to create a useful design-time architecture in an object model; how a good PME (properties, methods, events) environment should look. Also, there's some features in Pascal that aren't really replicated in other modern imperative languages apart from Ada (subrange types, sets, truly typesafe enums).
Before Anders Heiljsberg (the guy behind Delphi) moved on and created C#, Delphi was the source of the One True Way of UI programming on Windows.
You talk about Java's threading support blowing C/C++ out of the water. It's interesting: Delphi has extremely easy to use threads.
However, I do agree that it's important that more people learn the basics of functional languages, their semantics and implementation details (in terms of compilation and runtime libraries). I'd also throw in declarative rule-based languages: learn something like Prolog as well. Finally, one cannot be a truly well-rounded programmer without implementing at least one compiler from scratch.
But that's only my opinion.