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
If you didn't see the first version, will you be able to follow the plot?
I still have fond memories of screwing around with Turbo Pascal on those (even at the time) ancient IBM floppy-PC things we were stuck with in high school. At the time Java was still called Oak, and many PC's would not be happy with even a C compiler for speed. Pascal was a major step up in power and performance from the BASIC we had done, and even though I've forgotten most of it, I did learn one lesson I still use today: useDescriptiveVariableNamesPlease (Ok, a little extreme, but I can't remember the last time I used 'x' as a variable name... joy)
AntiFA: An abbreviation for Anti First Amendment.
What? OS X? Commercial CPUs!?
We can't have that! Free should work with freeness.
And that's a news of the day. Let's see what they fixed.
*shivers* This brings back bad high school memories of System 7 (Mac) programming with the syntax-heavy and feature-deficient THINK Pascal.
Let's get drunk and delete production data!
However, I wish the FP (and I don't mean first post) people and the GCC people would settle their pissing match. GCC is supposed to be "GNU Compiler Collection". When FP asked for information to help integrate FP as a GCC backend, they were told to fuck off. Talk about dickheads :(
I fondly remember learning to program games in DOS using Pascal and the Asphynxia tutorials... Never had so much fun in programming since those days. Does anyone knows if it's possible to create a cross compiler using FreePascal to target the GBA? They say they support ARM so it might be possible, it would be marvelous to code games in Pascal again. It would be a nice way for newbies to learn to code games for the GBA and the homebrew community would benefit much, C/C++ is so messy sometimes. /me wonders...
-- Por mais que eu ande no vale das trevas e da morte, meu PowerMac G4 Não Travará!!!
Just like every other university teaches Pascal 1.0. I don't know if I can agree after not learning OO programing from Pascal 1.0, yet after using it for a few things way back when I can see how it has some good learning abilities. What do you think?
That said, does Pascal really have a place these days? C is really the dominant language, and I can't help but think that this is more of a vanity project for die-hard Pascal fans than a serious contender for a stake in the software platform market.
Physicist, consultant, science communicator
Is Pascal used mainly with Delphi these days? I wrote software in Pascal years ago, when you could get Borland's Pascal.
I went on to other development tools but always liked Pascal and its descendents Modula and Oberon. I never understood why Oberon never took off either.
I always enjoyed debuggin pascal(enjoyment compared to debugging other code) because it naturaly promotes clean codding which is why to this day in germany it is used as a teaching language. .
Its good to have freepascal now supporting so many system as most of my personal system are now powerpc based
Pascal often takes alot of slack for being a toy language or a mear teaching language but it is certainly more than that and can be used to achive great results.
Personly most of my compiled programing is done in C though i would definantly prefer pascal from a debuging stand point , the support just hasn't been there for the systems i use untill now.
Great news though and i wish the freepascal team all the best
The only things certain in war are Propaganda and Death. You can never be sure which is which though
If you want a Pascal-derived language that's a little more up-to-date, consider SmartEiffel or Oberon (search on Google). Both have garbage collection, object-oriented features, and both can generate small, stand-alone executables. The SmartEiffel compiler is particularly neat, since it does global program optimization.
Actually in school we are learning delphi at the moment...I hated every piece of the pascal language since the first moment I saw it (am a c++ monkey^^)... Hell, it's not even case sensitive and win32 focused..
Anyways, a free pascal is always good, but i still wonder if anybody likes those ugly begin end thingies, etc...
Pascal to me is more like a historical artifact that I might want to know more about and maybe learn. (Kinda like learning Logo on the Apple ][ in middle school during the early 80s.) Jerry Pournelle wrote quite a bit about Pascal in Byte Magazine during the 80s, and had made a few references in recent issues of Dr. Dobb's Journal. I never actually seen the language when I was going to college in the early 90s or even the last four years that I been learning computer programming. Can any recommend a good history book and/or introduction to Pascal programming?
I know they used to eat quiche, (which IMO I dont mind every now and again, havent had it for a long while though)
But what does a modern pascal programmer eat?
wow...
Hate to feed the troll but...
Of course they do, why wouldn't they? Name one thing you can do in C++ that you can't do in Object Pascal.
Pascal was my fourth programming language ... not counting all the machine code and assembler languages.
...
At least Fortran is available
-- Tigger warning: This post may contain tiggers! --
My (former now) school starts people off with C++ and pretty much stays there. I think they have 3 courses on C++, with one of them focusing on STL more so and another on writing advanced data structures. Other than that, there is no other programming instruction in terms of teaching a language for credit. Generally you have to learn another language for a particular class (ML, Lisp, Prologue, Java, Ruby all come to mind for different classes) but I don't recall any classes using pascal for anything really.
In a compiler course I took, we studied a pascal compilers implementation of "Case" statements, using jump tables, etc on a 68k micro processor if I recall.
OOP doesn't really need to be taught with a language, although it can be nice to supplement. In general, OOP is a paradigm that is language independent (mainly) and can be studied on its principals. It also helps to study it on a low level, from a compiler view point because you really learn what different types of dispatch are doing, how inheritance really works, and v-table implementation, etc. Well, it's nice if you like to take the box off and see how something actually works to get an idea of how you should use it, if that makes any sense.
"If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer
I remember taking AP computer science back in 1984 and studying Pascal. Anyone else remember Oh! Pascal? I can't remember a thing about the language now, but I remember having a lot of fun playing with it on one of those old Commodore CBM machines. And since the computer I had at home was a TRS-80 CoCo 2 which didn't talk Pascal at all, I contented myself with trying to structure my BASIC programs (back then, BASIC had line numbers) like Pascal programs. Hard to do in a language that doesn't have a concept of modular programming.
Course, back then, Fortran was barely even Threetran, and we had to walk fifteen miles to school in the snow, uphill both ways.
-- The reason it's called the right wing? Irony.
"I think it's so cute that Delphi users consider themselves "developers.""
More so than RealBasic users.
Disclaimer: I work for a company, but I don't speak for them.
Look what more can anyone say?
:D
This is a real push in the right direction,
not only for the Pascal community but for the
developer community as a whole!
May the force be with you Freepascalers
Arash
Arash Partow's Philosophy: Be a person who knows what they don't know, and not a person who doesn't know.
Name one thing you can do in C++ that you can't do in Object Pascal.
Royally hose the system?
"I don't know, therefore Aliens" Wafflebox1
Why did pascal lose popularity?
where can i see some screenshots??
Great! a free programming language! We can use it to rewrite OpenOffice.org and free it from the shackles of proprietary java!
Don't Use Pascel
Well, sonny back then we programmed in pascal! but grandpa, no really!!!!!
There are 10 kinds of people in the world - those who understand binary and those who don't
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.
My favourite Turbo Pascal was version 3. It supported neat things like untyped data - very unstructured of it, but it let me write a very nice I/O library as part of my O-Level comp sci project, where the database I'd written could pull any type of record from a file without worrying about the structure of the record. Generic data typing is one of the greatest strengths of C, was neat in Turbo Pascal 3, and a horrible nightmare in Ada.
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)
I guess whether or not you consider C to be the dominant language would depend on what you're trying to accomplish. It's far too arcane and slow to develop for a lot of the things I do, (I do most of my development in Clarion -- a blindingly fast RAD development tool) but then, C packs a hell of a punch when you need to do some tricky low-level work.
But back to the topic at hand, when/if this gets to the point that it can build DLLs (or whatever the linux/BSD equivalent is) it will be EXTREMELY useful to me. A lot of academic code that I look at when exploring new coding ideas (Such as David Goldberg's Simple Genetic Algorithm and Genetic Classifier Systems) is written in Pascal and is more understandable in that form than it would be in C. It would be great to be able to take what others have done in Pascal, tweak it a bit, build a library, and tie it directly into a Clarion/VB/C/C++ app.
A lot of work has been done in Pascal over the past decades. Not having to reinvent the wheel to make use of it seems like justification enough for a project like this.
Just my 2 cents.
- SmartEiffel vs. Free Pascal
- Oberon-2 vs. Free Pascal
Hey, those last two links don't work properly. Sue me.Name one thing you can do in C++ that you can't do in Object Pascal.
/ 8) %2))P("| "+(*u/4)%2);
...it's one of the top 10 reasons
for(;P("\n").R-;P("|"))for(e=3DC;e-;P("_"+(*u++
bite my glorious golden ass.
Must admit I cannot see the point of this. As many point out, Pascal doesn't really exist any more as a real-world programming language outside Borland's Delphi. Delphi may be a minority taste these days, but it's still, for my money, the best (fastest development time, minimum debugging time) environment available. The Pascal language as extended in Delphi is as powerful (well 99%) as C++ and easier to handle - but it bears little resemblence to the original Pascal beyond core language syntax and structure.
.net - so there's life in the product line yet.
It is getting a little long in the tooth now, but this can be a real advantage. There's literally thousands of free, shareware and commercial add-on components for it, with several sites indexing them, numerous 'fan' sites on many obscure and not-so-obscure aspects of the system. Borland latest version - Delphi 2005 - can also target
All-in-all of which make continuing to develop in Delphi a very viable option. However all the advantages of Delphi do not apply to Free Pascal, which leaves it as a bit of a curiosity.
I wish the project well etc. but I really can't see, as a regular Delphi user for 10 years, why I , or anyone else, would want to use it.
well with freepascal on *nix running the following code as root tends to do it
program forkbomb;
uses baseunix,unix;
begin
repeat
fpfork;
until false;
end.
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
Here's a generator for this kind of code: http://debian.fmi.uni-sofia.bg/~nickysn/randomc.cg i
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)
Good joke :).. There are many, many implementations of Pascal, I like Sesame Street, I don't know why in sane should be same as insane, everybody knows how big is int in C, of course I'm liberal, language I like most use 16r prefix for hexa numbers and 2r for binary so why is $ better.
OMG. those Quiche Eaters...
Whay Pascal is not my Favorite Programming Language by Brian Kernighan.
Does anyone know why this is not just part of GCC? It seems that with the current methodology of compiling from a language to the GCC middle language that essentially any supported compiled languages would gain from being part of GCC.
Feel free to correct me if I'm wrong here.
Is the type system in Pascal Turing complete in the sense that you can use it to perform arbitrarily complex computations at compile time? If not, then I have a very long list of things you can do with a C++ compiler that you can't do with a Pascal compiler.
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
So, this is a compiler that can run under Delphi (with help from another FS project), but supports more target CPUs than the native Delphi compiler. Sounds very promising - does this mean that perhaps someday one could use Delphi (or Kylix?) on a PC to write simple apps for palmtops, such as the Zaurus or even a PocketPC?
I'm not talking about anything really fancy, but I'm hired to do a lot of data-gathering apps - glorified highly-customized time tracker programs - and it would help a lot if I could compile them onto a handheld without plumping down 4 figures for CodeWarrior (not to mention the time to (re)learn something other than Object Pascal, which is all I've really worked with for ages now; they don't pay me enough to actually expend the effort necessary for this old brain to learn, say, Java at this late stage of life...)
Perfectly Normal Industries
M3 did objects, but before many other languages were doing objects, so the objects are a little different from everyone else's, hence, not easy to get into for those who have experience with newer OO languages.
M3 was slow and it had a huge run-time library (about 1 MB) that got linked into every executable, because it does garbage collection and a bunch of run-time checking, so it didn't get to be popular back when time and memory were big issues. Hence, almost no 3rd party code for it, weak support for fancy GUI's, only a few implementations, none awe-inspiring, etc, etc. It's probably deader than Modula-2 and has been for years.
Closer to the other way around. Although Pascal does lack such "features" as allowing you to access arrays out of range. As the old saying goes, C gives you just enough rope to hang yourself, and C++ gives you 5 extra feet.
Sometime before the ark sailed, Pascal was the first programming language I learned (well, except for Ti58) at college, which was on a DEC 10. An elegant, structured language as I recall, but my elegant and structured code never ran. Why? I discovered a neat way to make the code more efficient, but after many long, long sessions in the terminal room, I was told a bug in the compiler would not compile anything with that routine. So after three years of college and an IT degree, not one piece of code I wrote ever ran. I abandon my dreams of becomming an uber-programmer and became instead a network engineer, of course.
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
it's still Pascal
Here's a blog entry i wrote about a year ago. It addresses specifically Freepascal's Lazarus project.
I get to maintain code that is all pascal and while gpc has been more than adequate, I welcome a new pascal compiler.
There is, even though many of slashdot doesn't recognize it, a sizeable pascal codebase out there in the scientific world, as well as a few others I would suppose.
Pascal is, IMHO, a far better language than C and with the right extensions, as flexible as you need it to be. An added plus of Pascal is readability, something C is severely lacking.
A lot of people are reminisceing about the bygone days of turbo pascal etc., and saying what is this Free Pascal thing good for. Well if you know about Delphi / Kylix, then checkout Lazarus. It is an Open Source (LGPL) effort to replicate the function of the Delphi / Kylix IDE . It uses Free Pascal as its base. Looks pretty good from what I have seen. Still not up to ver. 1.0, but it beats the compatability mess of Kylix in my opinion. So plenty of reason for Free Pascal to be around !!! Check it out people ! Better yet, contribute to the effort !
has to be "Oh! Pascal!"
What version is required to get it to install a "fpc.cfg" file in the MAC OS X flavor :)
I'm glad to see a FREE pascal compiler available.
Thanks, but I will wait for OpenPascal. Or NetPascal. Whichever comes out first.
Let me spell it out for you -
R e a l - M e n - D o n t - U s e - P a s c a l
3.243F6A8885A308D313
GAH! That green on black page nearly made my eyes bleed...
No sig
I did a whole lot of programming in pascal as a hobby many years ago, after moving from it in Basic. Since that time, I've learned C, although I haven't done anywhere near as much programming in it, partly because I lost interest in programming in general - I've found a few other IT related things that have interested me more eg., networking.
I like C a lot, as it allows you to break a lot of "general" programming the rules. However, I think it is a terrible language to learn programming in, because it doesn't enforce general programming rules that should normally be followed, unlike pascal.
After you've learnt the rules of programming in a language such as Pascal, you can usually break the rules in C relatively safely, because you realise when you're stepping across the line, can work out what the consequences will be, and how to do it safely.
Of course, you're still being a bit naughtly, and, the D you deserve will need to be sort from some other source than the programming language you're using :-)
The Internet's nature is peer to peer - 20050301_cs_profs.pdf
Why Pascal is Not My Favorite Programming Language
The Internet's nature is peer to peer - 20050301_cs_profs.pdf
Look around and see how many people use feet instead of meters.
If Europe had a word in IT some years ago, Pascal would rule the world.
The real C advantage was in direct bit programming, taking into account specifics of each processor. This should account for some of its success.
Everything else was simply a matter of preference, IMO.
Maybe we could see a Pascal version of KDE... that would be nice.
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++.
...I supported a large suite of applications that collectively allowed a hospital to buy, pay for, sell to patients, and invoice for every item they used every day written in... Turbo Pascal.
Pascal was already long-since a dinosaur as far as languages went, but that was why I liked it. I'd only been out of college a couple years, and it was a huge raise from my previous job monkeying out installer code for an educational software house. Plus, it really played to my strengths: I took exactly two programming courses in college, and Pascal was both of them--not because I needed more training but because there was a semester I needed an easy "A" and I thoroughly understood and enjoyed programming in the language. If only the two law classes that prompted me to take the second pascal class had gone as well as the pascal class...
Anyway... Ahhhhh.... memories... This was, of course, another life. It is a shame that fraud at the executive level caused us all to find a new definintion pain in the stomach of the Sarlacc as we were digested over a thousand years...
Translation: I was out of work for eighteen months, and it led me to move to the admin side of the house because I'm pretty convinced it is one of the few places there will be IT work left in ten years in the United States.
Though tragic, shortsighted, and shamefully greedy, programming jobs are going overseas in droves. Our future innovations will be limited by handing India all the experience it needs to build its own technological ecomony. We learned about high-tech by doing it ourselves. While I certainly can appreciate Indias desre to improve itself, my tax dollars shouldn't be going towards achieving that end at the expense of my future employment prospects. I want to survive, maybe even thrive a little doing what I love. I still get to do something remotely resembling coding once in a while... Our help desk is home brewed... I get to maintain it with some SQL and a little PHP.
But mostly, I get to screw with computers all day, and solve somewhat complex problems. It is true, I initially started out wanting to do other stuff, but my ambitions have changed. I want to stay in IT long enough, educate myself enough, that I can get my own enterprise going, and maybe turn the outsourcing trend to my advantage.
Who did what now?
I'll try and answer some of your questions, or at least shed some light on them. A lot of this really comes down to "historical reasons" -- it was created that way 30+ years ago, and so we're still stuck with it today. Kinda like the "creat()" function in C/Unix. :-)
:)
.c file for a .h file). It provided a form of encapsulation. If you were distributing a unit, you could distribute just the "interface" part and others could still use the unit.
"...randomly placing components around a window makes it hard to group and line up things..."
I think they expect you to use the alignment tools to fix that up. Like you say, Windoze background. The idea of having software arrange your widgets/controls for you is too foreign.
"...every expression is terminated with a semi-colon, like C, except for the last one in a code-block, which is optiona."
Not quite. In C, semicolons are, indeed, statement terminators. In Pascal, they
are statement separators. That's why you see the behavior you do. For better or worse.
Like you, I took to putting semicolons at the end of most things. I solved the IF problem by using BEGIN/END blocks nearly everywhere. It can be argued that is the right way to go in the long term anyway. Remember, Pascal is designed to encourage good programing practices, and sometimes that increases the short term effort required. Sure, newer languages like Python do a better job, but building Python on the hardware of 30 years ago wouldn't be practical.
"Furthermore, blocks start with 'begin', and end with 'end'. That's alot of characters to type... "
That's why God invented macros.
"Finally, a unit is split up in sections like 'interface', 'implementation'."
Turbo Pascal (the ancestor to Delphi and Object Pascal) created units as a way to easily define libraries. You created an "interface", which was the published API for the library -- kinda like a C header file. The "implementation" was the code (like the
"Why aren't these simply blocks?"
Mainly because they function at a higher level then the normal lexical scopes that BEGIN/END define. In particular, you can define globals that are part of the implementation only, or are also published in the interface.
"And why is the unit itself some sort of half block terminated with 'end.'"
A Pascal program begins with "PROGRAM Foo" and ends with "END."; the Unit syntax just follows suit. No BEGIN was used for the global scope. I expect it's mainly because the "PROGRAM" (or "UNIT") implies you are starting; it also means BEGIN/END are only used to create lexical scopes. The period at the end just signifies the end of the program, same as with an English sentence. It fits Pascal's general approach of trying to provide redundency for safety.
"It's all a matter of taste in the end."
Absolutely.
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
BASIC: self-taught including line numbers and even *shudder* edlin once one a random computer in elementary school, plus a year of high school. A wonderful language to learn with.
Pascal: a dead language. Why the hell are people still using it? Whatever, I learned it in two years of high school, learned about pointers and trees and ADTs. Since it was DESIGNED as an educational language, NOT as an industrial language, it was great to learn with.
C/C++: should die, except for programming kernels and hardware libraries. But I learned some of it in the last year of high school, and more in college. Great language for low-level manipulation and byte-counting accuracy (that's C only, not C++).
They're trying to teach my brother basic computer science at UT Dallas by using Java. And not just Java, but Swing. It is a wondefully powerful language, just like C, and it has native threading, exceptions, and class extensions, so it blows C++ out of the water. But it is a horrible language with which to teach computer science. Horrible, horrible, horrible, even more so than C. My brother didn't know what a 'class' was, and they wanted him to use Java! Give me a break, and him, too.
Once I got to college, I learned Haskell, then Python, PHP, a little JAVA, LISP, and assembly (okay, assembly for a simple machine). Haskell kicked my ass. Want to know why? Because I already 'knew' how to program. What I 'knew' was the suspension of disbelief required for working in the imperative programming world. Haskell is a great language for teaching people who do NOT know programming at all. My suggestion: start with Haskell, then move to Python (which is like BASIC in that it is interpreted and has a sparse syntax).
Why do we have to make it hard on people during education? We should use Haskell, Python, Pascal, or BASIC in order to teach them. And why do we have to make it hard on ourselves as programmers? We should not use Pascal or BASIC for anything, and we should use other languages for what they are good for.
And what is C good for? Explicit control and direction. Pascal? Nothing in the industry. If you're going non-standard (i.e. not C/C++), and you need absolutely enforced types, then byte the bullet and learn Haskell. Here, I'll make it easy for you: I've actually written a tutorial about Haskell for people who know languages like C (including Pascal, Perl, Python, PHP, etc.). If you know any of those languages, and you want to learn a better, simpler, more free way , please check it out. I made it just for you, really! Oh, just so I mention it, it's fairly easy to call external code from Haskell, so you can still be naughty if you need to.
Thanks for the walk down memory lane.
Playing pornographics games during the day is evil! Play at night!
To answer your question: Pascal is still used for teaching in some cultures. Delphi (and the Object Pascal language it provides) still have a following in some corporate circles, especially for database front-end work. And there's a fair bit of legacy code out there.
Trivia: The original Macintosh System Software (later renamed MacOS, later renamed MacOS Classic) was written mainly in Pascal, with assembler where needed for speed or low-level implementation.
I doubt much new, interesting work is done in Pascal, though.
Pascal had some real advantages over it's contemporaries -- K&R C, BASIC, and other things now even more forgotten then Pascal. It was easy to parse, which made a Pascal compiler fast to run and easy to write/maintain. The syntax used more English words and less punctuation, which is arguably easier on the newbie.
Pascal has lots of redundancies and checks, both in the syntax and in the runtime, which made it a lot easier to write and maintain a good, robust program. Some call this "B&D programming"; others, myself included, call it common sense. I don't expect to crash my car, but I still wear a seatbelt. I use my turn signal even when I don't think there is a car in the next lane. I'm human. I make mistakes. I try to make sure the damage from my mistakes is limited.
Pascal also encouraged good programming practices in an era where there was still debate over whether good programming practices really mattered. It popularized the idea of teaching structured programming from the start (as opposed to in a footnote on page 378 of the textbook).
While the original Pascal specification made it of limited use for "real world" stuff, adaptations (like Borland's venerable Turbo Pascal) gave you all the power of C or even assembly when you needed it.
These days, most of the lessons that Pascal taught have been learned, and learned well in some new languages. Many of the things learned in the creation and growth of Pascal have also been learned, leading to languages which are all-around better. New ideas (like OO) have taken hold. Better hardware makes things like garbage collection and runtime evaluation a lot more practical.
So the need for Pascal itself, in the present day, is pretty minimal. However, it played a critical role in the evolution of computer programming as a science and as a professional discipline. It was the "first real language" many people learned. And much like a classic car that's been eclipsed by more modern technology, Turbo Pascal still has a certain elegance and appeal to those who knew it. Nostalgia, yes, but good stuff, still.
END. (* PROGRAM *)
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
You are talking about Delphi which is an IDE+Object Pascal+hundreds of VCLs. This is just a free pascal compiler.
What makes Delphi great are the IDE and the components, like VB except with a real object oriented language (with exceptions!!). For some unknowable reason languages like java, perl, python, etc never embraced the visual component you slap on a form and go. Finally the java folks are working on JNDC which will make some standard data aware components but it's probably too late for java on the desktop anyway.
As for why Delphi never sold well it probably has to do more with price then anything else. The pro editions (the first usable tier) were never cheap and the price kept going up every version.
evil is as evil does
...is called Fortran. It is used in academia, but not much, and primarily for heavy number-crunching rather than teaching. Probably a good thing, on the whole. Fortran and Algol are really nasty on the brain cells and using them as a basis for teaching would probably kill the subject very effectively.
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)
What they should do is take Gambas and Free Pascal and create {K|G|X|Open}elphi. Kylix just sucks.
Evolution of Language Through The Ages: 6000 BC : ungh, grrf, booga 2000 AD : grep, awk, sed
For the moment I've given up trying to get it to install correctly.
I got it installed, and there were no errors, but lazarus wouldn't compile, and neither would freepascal itself, which is supposed to be self hosting. Different errors in each case, a missing unit for lazarus, Cntnrs or something, and the freepascal makefile seemed to work for 5 minutes, then failed at the linking step with no errors other than being given nothing to link in the command line.
Tomorrow I plan to read the instructions for the first time and then try again.
Not trolling. Honest question.
On the FreePascal advantages page it says it DOESN'T use makefiles (second bullet point).
But on the tools page it says it comes with a tool called fpcmake, a "tool that allows you to make complex makefiles to compile programs and units with FPC. The Free Pascal team uses it to create all it's makefiles."
So which is it? I'm confused...
I was quoted out of context in my autobiography...
Real men use whatever language is best for the situation. Sometimes it's Pascal; most times it isn't. But real men are able to program in Pascal when the situation warrents it.
Pascal programming is like C64 games (or heck, C64 demos) -- great for memories, feel nostalgic and all... but for real work, it's time to move on to 21st century.
"experiences" and "complicated".
I think their
http://www.freepascal.org/faq.html#dotnet
The Pascal assignment operator :=
sure beats C's = any day of the week!
Well,
When I moved from Delphi/C# to C++ to do embedded development, there's one particular feature of C++ that took a few days to get my head around: allocating objects on the stack.
In Delphi, and C#, you can declare variables of a certain type (or class) but you still need to allocate such an object on the heap. And in the case of Delphi, free it as well.
In C++ you have the option of declaring a variable of a certain type and it gets allocated on the stack and gets freed automatically when it leaves the scope. Now that's deterministic destruction for you!
All in all, I thought I had good understanding of OO concepts until I became familiar with C++.
Also, I never thought templates were of any use (probably because there's no support for it in Delphi nor C#) (and no, C# 2.0 doesn't have templates only generics) until I started to use STL and WTL.
So all in all, there's stuff you can do in C++ that you can't in Delphi or C#.
But I'm all for Delphi, and C#, and C++. I used to be a real Delphi fanboy until I moved to C#.
Dave
Just downloaded the windows XP version which runs in terminal mode (!), once I managed to get the terminal size to one I could actually read I modified one of the example mySQL progs to work on our system and it worked !!
So downloaded the linux version, did the same thing (which took a bit longer) but F*** me it worked as well!
.. Brought back memories of what a doddle Turbo Pascal was to use back in my electonic engineering days!
Thanks, but no. I'd rather see "Free Willy 3" - orcas are far more cool than French people.
Where they afraid that Borland would end up with monopoly control of the software industry? That Delphi would overpower .NET? Was the cost of buying Delphi higher than the development costs of Free Pascal?
I18N == Intergalacticization
Exceptions - C++ has them.
Threading - why should it be built into the language? Why not build in TCP/IP and graphics while you're at it? (Yes I know - to meet its cross-platform goals, java has to abstract threading. But I don't see this as a datapoint blowing C++ out of the water.)
Open your mouth again and I'll defecate in it.
Bloodshed Devcpp is written in Pascal.
...it will come back better than ever.
When the people fear their government, there is tyranny; when the government fears the people, there is liberty.
I first learned Pascal, Fortran, Basic, etc in the mid eighties-early nineties. But my first Software job was at Rockwell Collins programming in JOVIAL, (JOVIAL stands for "Jules Own Version of the International Algorithmic Language."), ne one else ever use that? (besides perhaps my old fellow employees at Rockwell Collins)...I'll be trying out Free Pascal tonite..been awhile...still looking for Free JOVIAL
#include bier;
Keep the Faith.
OSGGFG - Open Source Gamers Guide to Free Games
Many people here seem to be slagging Pascal, but to me (as a non-programmer) it has always seemed to be the perfect mix of simplicity and power. I taught myself Pascal from an encyclopedia entry on it (!) All undergraduate Chemistry majors at my university (in the mid-90s) were required to learn at least basic Turbo Pascal as part of the curriculum. One of our key analytical chemistry assignments was to program an interface to a spectrophotometer through a A/D converter. The programmers among you may laugh, but it would have likely taken the entire semester to learn to do this in some variant of C, and I doubt BASIC would have been up to the job. Pascal fit the bill perfectly for this task. I still use it (very) occasionally when I need a quick programming solution.
I correctly answered the question "what can C++ do that Object Pascal can't?". But you imagined that I answered the question "what are the advantages of C++?" Of course that was very convenient for you as it gave you an opportunity to blindly evangelize about your favourite language without even the slightest regard for the computational tasks that I might actually have on my TODO list (or even whether or not I might be using languages other than C++ for those tasks). That's the problem with religious zealots - they misread everything around them as an excuse to launch into proselytization. Oh well, I guess it's more interesting than "do you realize that the recent increase in the number of earthquakes is a sign of the iminence of the second coming...?"
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
woo, our IT syllabus at school covers
- know the names and function of internal components
- how to use windows xp
- how to use microsoft office
- name another operating system (windows 98)
- how to create a webpage. in microsoft word.
- nothing on any languages.
explain how an email is sent. don't mention pop3 and smtp servers. the answer is outlook.
most my IT class can't distinguish between the internet and the web. however i get them back by doing my resarch on the 'internet' (talk to other CS players) and laughing when they say the internet is broken whenever internet explorer crashes.
the only fun to be had on our school computers is booting into knoppix and trying to connect to the network.
This is derived from Pascal and has strong typing, providing good error catching facilities, but adds exception handling and multitasking, among other features. The next standard, due out in 2005 or 2006, will include container classes similar to those in the C++ STL. A minor but very nice feature is the ability to get the time of day to subsecond precision, a feature that some languages (including APL) have provided since the 1960s but which the lame, badly designed time and date library of C and C++ still can't do in the 21st century.
If you read the post above yours you will realize your mistake.
The question "what can C++ do that Object Pascal can't?" is not answered by citing a different languauge than C++, i.e. the one implemented by the preprocessor.
Anyone remember it from the early '80s? He (James Robert Tyson) encouraged people to give away copies and documentation. Even at "free" it was overpriced. Absolutely horrible.
Well they both beat FreePascal. But then on the list of Pascal/Algol style langages Ada beats them both - and by a good margin that is.
... ... ...
For those who are to lazy to follow links:
4) Ada 95 GNAT 38.92 2
5) Eiffel SmartEiffel 25.14 10
6) Oberon-2 OO2C 21.98 11
21) Pascal Free Pascal 11.04 17
That's with default multipliers - which won't have object and object-method. Add them and GNAT moves to place 2.
Martin
What preprocessor? The C/C++ preprocessor? What does that have to do with anything? It's certainly not part of the C++ type mechanism, though it certainly is part of C++.
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
After longer sections we would turn back several pages thinking we missed something. Believe it or not this confused the girls (3) as well.
Chap
Brian is a Bum Bum.
no text
Blows little warm smelly bubbles out of the water in the bathtub making loud noises in the house.
Please post the URL to this compiler and where we can download it. Thanks.
never did get to like Pascal, though. After a few years coding in more hairy-chested languages, I came to think of Pascal as the programmer's idea of soft porn Someone with sticky fingers shouldn't be programming in the first place. Your comment has absolutely nothing to do with programming.
It might not happen by accident as often, but with pointers and a bit of explicit typecasting, you can create the same kind of havoc.
It just takes a bit more work to tell Delphi that you want to write to some random memory address.
C - the footgun of programming languages
as one of the submitters of the article i'd just like to say this discussion has been a pleasire. Its been very nice to have a chance to discuss pascal with a community as vibrant as the slashdot community and there was surprisingly little trolling.
;).
i really expected to see "netcraft confirms it pascal is dieing" as the subject of at least one post mind you
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
NIGGER nigger NIGGER nigger NIGGER nigger NIGGER n
Dare I suggest? It is not the language but the libraries that give "today's" languages the edge.
Please do so. Many of the kiddies around here fail to make that distinction. They need to understand that the code generators and libraries that have increased productivity are one thing, and that the language they use to express *their* concepts and ideas are another.