Slashdot Mirror


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."

451 comments

  1. awesome by Prophetic_Truth · · Score: 3, Insightful

    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+
    1. Re:awesome by Anonymous Coward · · Score: 1, Funny

      Free Pascal? Was he in jail? Some sort of "Count of Monte Cristo" scenario involving the long dead and completely decayed remains of Blaise Pascal?

    2. Re:awesome by Chris_Mir · · Score: 1

      Awesome? sure...

      I know pascal has been around for quite some time. I'm not familiar with this language. So I ask, what would be a good reason to choose Pascal over any other given language? Or is it just a matter of taste?

    3. Re:awesome by petermgreen · · Score: 2, Interesting

      does a hybrid procedural/oop language without the overcomplexity of C++, that compiles to native code without gc and similar shit and that lets you get down to the low level when you need to appeal to you.

      if so and the verbosity and case insensitivity don't bother you then it will probablly suit 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
    4. Re:awesome by Nutria · · Score: 4, Insightful

      what would be a good reason to choose Pascal over any other given language?

      Since it's a B&D language, you won't get buffer overflow bugs & exploits. (In and of itself, that's a mighty good reason to use Anything But C.)

      Since it (well, Turbo Pascal did, so I guess Delphi does, too) knows how long strings are, there's no need for that silly necessity for null-term strings, and all the consequent bugs.

      But... since it's a B&D language, there will be other gotchas to struggle with.

      --
      "I don't know, therefore Aliens" Wafflebox1
    5. Re:awesome by petermgreen · · Score: 1

      what exactly do you mean by a B&D language?

      what i really like about it is that it has that friendlynees and ease for most code yet there isn't too much getting in your way when you want to do low level stuff.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    6. Re:awesome by MightyMartian · · Score: 1
      I haven't really played around with the OOP variants of Pascal (like Modula), but Pascal itself was probably one of the more elegant languages ever designed. I cut my teeth on procedural programming in a CS class in high school with Pascal, and I believe that was the original intent of the language, to be a learning language.

      I'm going to take a look. I'm sure it, like every other language, will have shortcomings, but I agree with another poster, you can't have enough development tools.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    7. Re:awesome by ed__ · · Score: 3, Informative
    8. Re:awesome by petermgreen · · Score: 1

      yes but they put in this nice feature called a typecast which is basically telling the compiler that you know you are bending the rules but you wan't to do it anyway.

      so it gets in the way just enough to make it hard to fuck up by mistake but when you really want to do something the compiler wouldn't normally allow its easy to force.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    9. Re:awesome by connorbd · · Score: 2, Informative

      The main problem with Pascal is that in its purest form it's too elegant, and efforts to make it usable for Real Work have generated incompatible variants on the language. That's why any serious attempt at a Pascal compiler has to speak not only ISO Pascal (a cripple of a language that Brian Kernighan famously tore apart in an essay called "Why Pascal Is Not My Favorite Programming Language") but at least three or four different extended dialects (just as an example, Turbo Pascal and Apple Pascal).

      Pascal should have died out long ago, but it's got a very dedicated and talented hard core of enthusiasts that have been keeping it alive for some time, and then along came Delphi and secured it a place in development circles for all eternity.

    10. Re:awesome by BrokenHalo · · Score: 1
      yet there isn't too much getting in your way when you want to do low level stuff.

      But of course, we should remember that Real Programmers don't use PASCAL"

      :-)

    11. Re:awesome by marcovje · · Score: 2, Informative


      Borland dialects relax the B&D aspect, but keep the overal sane structure.

      Everything done in C can be done in FPC, the only practical thing I can think of is that with C you can make large static datastructures easy using preprocessor.

      However using an external preprocessor is of course possible with any language.

    12. Re:awesome by eclectro · · Score: 2, Interesting

      But of course, we should remember that Real Programmers don't use PASCAL

      That was before Borland introduced Turbo Pascal, which everybody marvelled at. They sold a zillion pascal compilers and that was their bread and butter for a long time. Everybody was saying how they were gonna reuse all this pascal code they were writing and it really was the shiznit.

      Then the Mac gained credibility with the laserprinter and Think C had a C++ compiler and everybody was starstruck by the term "object oriented," which blinded everybody until the internet came along with a new set of buzzwords that inflated a nice bubble filled mostly with worthless gas.

      I do not see anybody falling over each other to reuse a lot of that old pascal code. And even though everybody says how they can reuse C++ stuff, it seems like every time I read details about some software project they are having to reinvent errr rewrite the wheel. Or if it's not that it's someone else's spaghetti code they can't read.

      The first computer language I learned was was Fortran at a terminal with computer time you had to buy in CPU seconds. It was a sperry univac that had a rotating drum (not disk) and I believe it was a five megger --> 5 megabytes. The entire university had only a couple of cpm computers in the library for student use. When I enquired about them nobody knew if they worked and there was no software for them. This was 1983. Needless to say wordprocessing was a bitch back then, and the student paper was filled with ads for people who would do typing for you. Anyway, I digress.

      I was told how gosh darn important Fortran was going to be in my chosen field of electrical engineering. Well, it wasn't and isn't. I won't tell you what the school is, but I will say they are responsible for the world-changing discovery of cold fusion. They have since become important in the areas of supercomputing and contribute a lot to Linux. I would like to think that there is irony there, but I have my doubts.

      Through my years of learning, I think I like straight pascal the most. It is elegant, and bug hunting MUCH more straightforward. Though I am sure to findle ample amounts of people who will disagree with me on slashdot. But trust me, I've been there, done that, and got the t-shirt.

      I mention this because the date of the the article is 1983, and even though it was (is) a joke, it hits close to home.

      --
      Take the cheese to sickbay, the doctor should see it as soon as possible - B'Elanna Torres, "Learning Curve"
    13. Re:awesome by BrokenHalo · · Score: 1
      ...the date of the the article is 1983, and even though it was (is) a joke, it hits close to home.

      Indeed, though I seem to remember something similar circulating years earlier. I cut my teeth coding in assembler (with an 029 keypunch) on a Burroughs B3700 (1976), when the high-level language of choice was Fortran 4, though I occasionally had to get my hands greasy with COBOL. Ugh... :-}

      By 1983, however, I too was working on an Sperry/Univac 1100, but that 1982 machine had a large array of disk drives at the centre of a network of ~320 dumb termials. Guess the outfit I was at might have had a bit more money to spend. :-)

      I 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. :-D

    14. Re:awesome by eclectro · · Score: 1

      I too was working on an Sperry/Univac 1100, but that 1982 machine had a large array of disk drives at the centre of a network of ~320 dumb termials.

      Yes, undergrad students always got the hand-me-down crap that the departments on campus had.

      I thought I had it bad. I guess if I had to go lower it would be COBOL. But I hear that COBOL workers are making good money maintaining legacy code on old systems, because no-one wants to learn (puke!) it anymore.

      One of the better teachers on campus quipped that "sex is the worlds worst spectator sport." That quote has stuck with me for 20 years because I know he was right. So soft porn to me is not as bad :-D

      --
      Take the cheese to sickbay, the doctor should see it as soon as possible - B'Elanna Torres, "Learning Curve"
    15. Re:awesome by Hognoxious · · Score: 1
      The first computer language I learned was was Fortran at a terminal with computer time you had to buy in CPU seconds.
      [Accent=Yorkshire]We had to make our own terminals. Out of mud.[/]
      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    16. Re:awesome by chthon · · Score: 1

      Good question, but I would extend it to : why choose Pascal over Ada (or otherwise) ?

      It seems that amidst a whole plethora of languages, those are the only (most-used) descendants of Algol-type languages still in use.

    17. Re:awesome by chthon · · Score: 1

      Pascal was a nice language, but working with strings was horrible.

      You had to create all your strings the same length, because another length was interpreted as another type, so you could not pass strings of different length between procedures.

      With Borland Turbo-Pascal that was of course possible, but it did only run on CPM/DOS systems.

    18. Re:awesome by Anonymous Coward · · Score: 0

      Since it's a B&D language, you won't get buffer overflow bugs & exploits. (In and of itself, that's a mighty good reason to use Anything But C.)

      One of the first programs our teacher showed in my Pascal programming class had a buffer overflow bug. A simple ten line program, written completely in Pascal, and it had a buffer overflow bug. He didn't even realize until I pointed it out.

      People tend to believe that buffer overflows happen only in C, but this is not true, they can happen in any language that allows you to create a fixed size buffer. Strings in Pascal are fixed at 255 chars. My teachers program could easily be tricked into putting an infinite long text into a string. That's a buffer overflow.

      It wasn't a security related buffer overflow though, because the program had nothing to do with security.

      Now, before the next wiseass comes up and says "He should have used $FAVORITELANGUAGE instead, because buffer overflow bugs can't happen in $FAVORITELANGUAGE", remember: Any language that allows you to create a buffer of limited size allows you to create a buffer overflow bug. Hint: The amount of RAM in your computer is a limited size buffer.

    19. Re:awesome by Anonymous Coward · · Score: 0

      Better tools. Larger user base.

      As a language however, Ada is a superior choice.

    20. Re:awesome by Anonymous Coward · · Score: 0

      >
      Since it's a B&D language, you won't get buffer overflow bugs & exploits.

      You mean its from Berningham and Ditchie?

    21. Re:awesome by Anonymous Coward · · Score: 0

      Ok, I will try, to incorporate your, suggesions in my next, posts.

    22. Re:awesome by petermgreen · · Score: 1

      you can put large datastructures in your code easilly enough in borland style pascal.

      for example look at the code in http://cvs.sourceforge.net/viewcvs.py/*checkout*/b ewareserv/bewareserv/channelcommands.pas?rev=1.17

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    23. Re:awesome by marcovje · · Score: 1


      Maybe I should have said " can be handy for some kinds of structures".

      A good example is e.g. a datastruct where strings are coded using their minimal length.

      So string or string

    24. Re:awesome by Rick+BigNail · · Score: 1
      Someone may thing Ada is too big.

      CAR Hoare thinks languaage definitions should not be longer than 50 pages.

    25. Re:awesome by L505 · · Score: 1

      Which is the idea of freepascal :) GnuLinux/Win32 ready. AnsiString ready. Pchar ready. And many more.

    26. Re:awesome by Anonymous Coward · · Score: 0

      with Ada.Text_IO; use Ada.Text_IO; procedure Hello is begin Put_Line( "Hello world" ); end Hello; -- can be also just 'end;' What the hell is this? 1. double quotes are less readable on paper and more cluttersome. 2.Put_line? wtf? 3. adding verbosity to end? and explaining it to people with a comment? wtf? It's just adding nuisance to the langauge.

    27. Re:awesome by Anonymous Coward · · Score: 0
      How can something "is begin"?

      Is begin our base belong to us?

      Can begin is belong base to us?

      Understand?

    28. Re:awesome by Cadderly · · Score: 1

      We use Pascal based languages here at work all the time. We do some really low level stuff so Pascal can handle that without problem (there are pointers in pascal, they are just strongtyped). The points in the "Why Pascal Is Not My Favorite Programming Language" essay that are against Pascal are almost all tackled in modern variants of Pascal. I don't see how a language that is "good for teaching programming because it keeps the programmer from making mistakes" and a language that can do anyhing you want is not usable for the "industry". Well I work in the robotic industry and here in this company C/C++ is not allowed. We can choose from Java or Object Pascal(delphi, Embedded Pascal, Chrome). Pascal now it not the pascal in 1985... If you are in .net and look for a CLEAN language look at this : Chrome

    29. Re:awesome by petermgreen · · Score: 1

      it depends on exactly what you mean by buffer overflow.

      unless he was accessing that string through a pointer or something similar then i don't think the standard operators would LET the string grow beyond its maximum length

      on the other hand in C you can run off the end of the buffer with no checking whatsoever and start overwriting stuff beyond it. It is this that leads to buffer overflow exploits.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    30. Re:awesome by petermgreen · · Score: 1

      yeah and they improved the string handling again in delphi 2 to make it one of the best systems around. (refcounted copy on write)

      and freepascal followed ;)

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    31. Re:awesome by petermgreen · · Score: 1

      can you give an example of exactly what you mean?

      (ie an example using the C preprocessor of something you can't do with the pascal constants system).

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    32. Re:awesome by marcovje · · Score: 1


      Pretty much everything that FPC uses data2inc for. Mostly to create structures with variable length string data in it.

      Another example; see e.g. the macro's for sysctl constants in the FreeBSD headers.

  2. Out of curiousity... by winkydink · · Score: 5, Insightful

    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

    1. Re:Out of curiousity... by Anonymous Coward · · Score: 2, Informative

      As a Delphi developer, I always tell people, it's the power of C++ with the easy of VB....with out all the inherient problems that VB gave us. On windows I've not found a tool that provides a faster way to develop "real" applications.

    2. Re:Out of curiousity... by NetNifty · · Score: 5, Insightful

      First things that come to mind are prototyping and education - I'm sure I'm not the only /.er who was taught Pascal at school.

    3. Re:Out of curiousity... by winkydink · · Score: 1, Interesting

      Education I get, I meant production uses.

      --

      "I'd rather be a lightning rod than a seismometer." -Ken Kesey

    4. Re:Out of curiousity... by thesman · · Score: 1

      The same as using C++...

    5. Re:Out of curiousity... by rainman_bc · · Score: 4, Insightful

      Well it's got the strength of C and the readability of Delphi.

      Might not be as many job opportunities out there for a Free Pascal programmer, but for some who want to walk down memory lane...

      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    6. Re:Out of curiousity... by petermgreen · · Score: 2, Informative

      think of delphi style object pascal (as seen in delphi and freepasca). as a hybrid oop/procedural language without the huge complexity of C++ but also without the nany state style restrictions or deployment issues of .net or java.

      also the delphi IDE was one of the few rad environments that could compare to the development speed of VB imo.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    7. Re:Out of curiousity... by Rez-9 · · Score: 1

      educational purposes. Besides here in europe pascal is very popular as a first programing language to learn.

    8. Re:Out of curiousity... by FidelCatsro · · Score: 2, Insightful

      debugging , pascal really strongly promotes clean codding . I can generaly pick a piece of pascal code and understand it very quickly as opposed to c or c++ which is more free form ( i enjoy to code more in C but i much preferreading others code in pascal)

      --
      The only things certain in war are Propaganda and Death. You can never be sure which is which though
    9. Re:Out of curiousity... by mph_az · · Score: 1

      Would that make it a good language for a casual hobbyist programmer to learn, then? I mean for learning off the net and just doing light projects with.

    10. Re:Out of curiousity... by Anonymous Coward · · Score: 0

      We use it for everything.

      Again, all the power of C++ in a simple to learn and use language.

    11. Re:Out of curiousity... by rainman_bc · · Score: 1

      You'd probably have more fun learning Ruby or Python IMO... Ruby's got a few contructs that are a bit funky, but it's a cleanly typed language that's easy to use.

      Python can piss you off sometimes with the forced whitespace...

      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    12. Re:Out of curiousity... by KiloByte · · Score: 4, Insightful

      Exactly, Pascal is a lot, lot better when it comes to writing correct code. It's faster to hack around in C, Perl or Python, but when it comes to debugging, you can't really beat Pascal.

      Too bad, the lack of support killed it. The ISO version was absolutely unusable, as described in many essays ("Pascal considered harmful", etc). Turbo Pascal was a powerful tool, but it's lost in the mists of the past now.

      GPC can't be considered anything but sabotage (its developers intentionally break things like record types and stick with the broken ISO "standard"), and Delphi went into an insane streak of badly-designed hacks.

      Pascal is probably the best language for learning algorithms theory, too. Unfortunately, I would say that it's too late to try to revive it. There is too much C code to make the switch worthwhile to a language that is pretty much an equivalent of C.

      --
      The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
    13. Re:Out of curiousity... by Rylz · · Score: 1

      what is Pascal used for these days? What are it's inherent advantages over other languages?

      In all practicality, nothing. It is no longer needed in much of anything, even the niche it used to occupy, and this is illustrated by the fact that this project has apparently taken five years or development to reach 2.0. When there's a serious lack of interest in a project, there are usually one of three reasons:

      • The need or niche for it is not yet realized.
      • Not enough potential users know about it
      • The need for it does not exist

      I have a feeling the case for this project is the third, especially in the F/OSS world.

      --
      Sometimes you've gotta roll the hard six.
    14. Re:Out of curiousity... by zambuka · · Score: 1

      Advantages: Easy to program. Fast development. Very little to worry about with garbage management. Very very easy to learn compared to c++. Easy to use object model.

      If you are not a hard core c guru but still need to hack out the occasional standalone then pascal is the way to go.

      Took me a week to build a nice little stable app for work. Nothing special, just an autoloader for a multimedia cd with a few sound files, graphics and videos.

      Nothing special unless you consider that, apart from a bit of php and python, I haven't done any programming for nearly 12 years. A week to update myself on the advances in pascal, figure out the object model, debug and compile is pretty good. And no I do not consider myself anything even approaching commercial level programming. So just imagine what someone more dedicated than I can achieve.

      It is also powerful enough to compete with c++ on most levels (except os and drivers, but mainly because these already use c and interfacing with c on that level with something other than c is a pain).

    15. Re:Out of curiousity... by FidelCatsro · · Score: 2, Interesting

      unfortunatly i agree , C took the crown and C based languages are here to stay .
      Pascal was slaughterd in the iso standard ( though still a very beutifull language) Its the language i cut my teeth on before moving to C and i have alot of respect for it .
      I don't think it would be imposible to resurect as pascal tends to be very freindly to new developers as it is very strict so errors are easy to discover.
      it just needs a buzz application to attract people towards it (note that in germany it is still used as a teaching language , though it tends to be windows specific coding which is unfortunate)

      I may just be sufforing from a case of nostaliga , but i do enjoy pascal coding.
      too many languages now see freeform as an advantage when it can promote alot of bad habbits for the new codder, though it does allow for better structure of codding when your used to your language

      --
      The only things certain in war are Propaganda and Death. You can never be sure which is which though
    16. Re:Out of curiousity... by gfody · · Score: 1

      Object Pascal (delphi) is used to make applications, games or anything C and C++ is used to make. Is this free pascal object pascal or just regular old pascal?

      --

      bite my glorious golden ass.
    17. Re:Out of curiousity... by Anonymous Coward · · Score: 0

      It is Delphi/Object Pascal language compatible.

    18. Re:Out of curiousity... by Anonymous Coward · · Score: 0

      New Speak (codding, preferreading) is double plus ungood for the brain... In other news: http://telegraph.co.uk/news/main.jhtml?xml=/news/2 005/05/15/nspell15.xml&sSheet=/portal/2005/05/15/i xportal.html

    19. Re:Out of curiousity... by G-Licious! · · Score: 2, Interesting

      Tell me about it. My college's setup is horrible. It's practically impossible to customize Delphi's environment because configuration seems to be located on a protected share on the network.

      Delphi's indent size seems to be random, and there's just alot of handy settings I'm missing out on.

      A gripe I have with the GUI designer (which is probably a Windows thing) is that randomly placing components around a window makes it hard to group and line up things. (as opposed to GTK+, which is pretty much the only other thing I've experienced)

      Furthermore, I just don't really like Pascal, the language itself. I'm really just a beginner, but I have experience in a fair amount of other languages already. There's alot of tiny annoyances that really bug me while writing Pascal. The language tries to be formal, but the code simply looks very informal and inconsistent to me.

      For example, every expression is terminated with a semi-colon, like C, except for the last one in a code-block, which is optional, sortof like CSS. That's all fine and dandy, but when you move around instructions I often find myself toying around with semi-colons half the time. Now ofcourse I can terminate <em>every</em> line with a semi-colon, even the last one, but that'd throw errors in an if-then-else statement.

      Furthermore, blocks start with 'begin', and end with 'end'. That's alot of characters to type for a simple and frequently occuring language construct.

      Finally, a unit is split up in sections like 'interface', 'implementation'. Classes ofcourse have private, protected, public members. But these keywords just seem to affect everything up untill another keyword or the end of the class definition. Why aren't these simply blocks? And why is the unit itself some sort of half block terminated with 'end.' (note: not a semi-colon), but not opened with 'begin'?

      Delphi takes care of a fair bunch of other annoyances, I guess. And feel free to prove me wrong on any of this. But I guess I should just bite through these courses, wait 'till we get some more Java (or finally some other, interesting, new langauge) and stick with Python, Ruby, Boo or whatever in my spare time. It's all a matter of taste in the end.

    20. Re:Out of curiousity... by petermgreen · · Score: 2, Informative

      that depends on the mode setting you use. In delphi mode it tries to be as close to dlephi as possible. In objfpc mode it supports most delphi features but with slightly cleaner syntax rules in some areas. The other modes are procedural only afaict

      most of the nonvisual components from delphi are there in some form. Visual stuff is being handled seperately by the lazarus project.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    21. Re:Out of curiousity... by FlyByPC · · Score: 2, Funny

      I dunno. All the power of BASIC with the ease-of-use of C -- maybe it's designed to discourage people from becoming programmers.

      --
      Paleotechnologist and connoisseur of pretty shiny things.
    22. Re:Out of curiousity... by mschaffer · · Score: 2, Funny

      Well, Pascal is still used so that people can say how much better Modula 2 is.

    23. Re:Out of curiousity... by bladesjester · · Score: 1

      I think the only software I've ever seen made with pascal was Cubic Player (mod file player. ah fond memories) but that was back in the early 90s.

      I remember getting my first copy via sneakernet.

      --
      Everything I need to know I learned by killing smart people and eating their brains.
    24. Re:Out of curiousity... by Dun+Malg · · Score: 1
      Education I get, I meant production uses.

      I know of one product, a flight planning and maintenance tracking app for small aviation businesses, that's still written entirely in Pascal. They guy who wrote it has been trying to convert it to C++, but has so far been unsuccessful. It's a terrible crawling horror of a program. It is, at least, Y2K compliant.

      --
      If a job's not worth doing, it's not worth doing right.
    25. Re:Out of curiousity... by apankrat · · Score: 2, Insightful

      Well it's got the strength of C ..

      I have no idea what the strength of the language is, but I do know that Pascal is a Context Free Grammar language. That what gives it an incredible compilation speed, but it also automatically means that it has very basic semantics compared to other languages in general and to C in particular.

      --
      3.243F6A8885A308D313
    26. Re:Out of curiousity... by SAN1701 · · Score: 5, Informative
      First, I have to say I'm a big fan of Delphi. I've done dozens of projects with it in the last 10 years.

      Yes, I do use C++/Objective-C (when I have to program in OS-X with the Cocoa framework), and C# and Java. The productive gap I fell between the two first C-like languages is that, in Delphi, the work is done in a tenth of the time, specially for GUI and Database-enabled apps. When compared with Java and C# I would say that the time spent is twice or three times lower in Delphi.

      Of course, the fact that I develop mostly in Delphi makes easier to me to be productive in this language. But I have a friend who went to work in a full-Java environment, being good at it to the point of being a lecturer, and he agree that the Java world is still way behind when it comes to RAD.

      Having said all of this, many windows applications are built in Delphi. Here's a list of only the most famous.

      Delphi is generally considered the best tool for development in Windows. Simply put, its strengths are:

      1. Complete OO language, including real properties that were now copied by C# (actually, chief architect of Delphi-1 and 2, Anders Heijlsberg, is doing the same role in MS for C#).
      2. Easy to use IDE.
      3. Targets Win32, .NET (and Linux if you use Kylix, which was somewhat abandoned by Borland).
      4. A complete and mature framework, the VCL, with thousands of free components available on the web.
      5. Compiled code (when in Win32), which generates executables comparable in speed to those in C++.
      So why isn't it more widely used? I would say that one thing is because of Borland is a tiny company when compared to MS or Sun. The other is that it is a proprietary tool. And the third, generally the most commented, is that Borland maybe didn't know how to sell it properly.
    27. Re:Out of curiousity... by Old+Telco+Guy · · Score: 1

      Well for one, with Pascal, you have to declare variables before they are used, rather than on-the-fly, so you only need a one-pass compiler to compile it. So on a modern processor, compilation is like *instant* compared to languages like C++ and Java. I remember prototyping in Delphi and hitting a key combo to compile/launch and the app would literally compile AND launch before the skin of my fingers left the key combo. This is a really nice feature if you don't want your train of thought broken during an exciting/fun/intense programming session. It's a prototyper's dream.

    28. Re:Out of curiousity... by Anonymous Coward · · Score: 0

      The news reader I used to read /. news (RSS reader) is written in Delphi Pascal.

    29. Re:Out of curiousity... by Wumpus · · Score: 1

      Delphi is still pretty popular in some circles - I use it every day. It's a RAD environment based on Pascal. Really nice.

    30. Re:Out of curiousity... by AndroidCat · · Score: 1

      I've noticed a recent spike in Delphi jobs around here. I'm not sure if it's a trend or just part of the current developer job market thaw. Free Pascal might be an attractive for Delphi shops that want to have a Windows escape plan handy.

      --
      One line blog. I hear that they're called Twitters now.
    31. Re:Out of curiousity... by triso · · Score: 1

      Bollocks! Most computer languages are CF Grammars. C and Pascal would be very close except for the newer OO features added to Delphi.

    32. Re:Out of curiousity... by Anonymous Coward · · Score: 0

      I'm programming in it right now, you insensitive clod!

    33. Re:Out of curiousity... by Anonymous Coward · · Score: 0
      With C, C++, and java you also need to declare variables before using them.

      Most of Delphi's "compile" speed is actually due to an incremental linker.

    34. Re:Out of curiousity... by Anonymous Coward · · Score: 0

      I find that it's much easier to work out all the bugs in pascal than it is in C++. So, I prototype in pascal then port. Currently, I'm implementing the Be filesystem in pascal.
      (source and screenshots here: http://64.42.141.76/ubixfs/)

      I've generally found that the pascal compilers are much friendlier than the C++ ones. The last thing a programmer needs is to be fighting with his compiler to make things work. Coincidentally, I won't touch FreePascal or GPC for that reason.

    35. Re:Out of curiousity... by pembo13 · · Score: 1

      No you're sure not. I learned in the Turbo Pascal 7.0 IDE myself, adn then later moved on to Borland DElphi.

      --
      "Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
    36. Re:Out of curiousity... by Senjutsu · · Score: 1

      Honestly, if you want the ease of debugging and correctness features of Pascal, along with a much cleaner, more powerful standard and compatibility with C, learn Ada95.

    37. Re:Out of curiousity... by AdamWeeden · · Score: 1

      Python can piss you off sometimes with the forced whitespace...

      I disagree. Any programmer worth his salt knows that an essential part of readable, maintainable code is proper indention. I love how python FORCES you to do it. Thus preventing some of the horror show pieces of code I have had the misfortunes of attempting to read and *shudder* debug.

      --
      I was quoted out of context in my autobiography...
    38. Re:Out of curiousity... by dtfinch · · Score: 2, Insightful

      The Dev-C++ IDE is written in Pascal (Delphi), as unusual as that sounds. A whole lot of Windows software is written using Delphi, especially shareware, it's just not obvious to the user. Trying to do GUI development using Visual C++ was a nightmare, leaving Delphi as the only choice if you wanted easy RAD development and natively compiled code in the years before VB5 and VS.Net.

    39. Re:Out of curiousity... by Anonymous Coward · · Score: 0

      with out all the inherient problems

      "without all of the".

    40. Re:Out of curiousity... by renoX · · Score: 1

      For me, now that Java is here, Pascal has no more advantage.

      I'm not a fan of Java, but I think it took the "niche" of 'clean' language to learn at school.

    41. Re:Out of curiousity... by chefren · · Score: 1

      It's Turing-complete and therefore has a Context Free Grammar just like every other useful programming language on the planet.

      I like Delphi. Or rather I like Borlands Delphi development environment and the great help system that comes with it.

    42. Re:Out of curiousity... by Anonymous Coward · · Score: 0

      1. Free Pascal is faster because it's compiled. In addition, you don't need to install an execution environment (i.e., Ruby or Python) in order to run a Pascal program. (Actually, with Psycho, you don't have to do this with Python programs, either, but the binaries tend to be rather large.)

      2. I happen to like the whitespace feature of Python.

    43. Re:Out of curiousity... by rainman_bc · · Score: 1

      Problem is that there's different indentation methodologies. For the life of me I can't remember the formal types, but I mean there's three or four of them, that various ppl are used to from the different worlds where they come from.

      Then there's tab vs. space indentation.

      I like that you can have certain expectations reading Python code, but it can be a bitch if you missed an indentation.

      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    44. Re:Out of curiousity... by Anonymous Coward · · Score: 0

      "every expression is terminated with a semi-colon"

      Actually, the semicolon separates statements. If you view it that way, it makes a little more sense.

    45. Re:Out of curiousity... by brogdon · · Score: 1

      "First things that come to mind are prototyping and education - I'm sure I'm not the only /.er who was taught Pascal at school."

      And I'm sure I'm not the only /.er who's pissed that his high school didn't teach its CS classes in C/C++ instead. :)

      --


      This tagline is umop apisdn.
    46. Re:Out of curiousity... by Anonymous Coward · · Score: 0

      In English, most sentences begin with a capital letter. (Yes, I realize that in this particular post (unlike in most of your posts), most of the sentences did begin with a captial letter, but by "most" I mean >99%.) Also, "AFAICT" should be capitalized and the sentence that it's in should end with a period/full stop. "Delphi" and "Lazarus" should both be capitalized, as well. Finally, note the spelling of "separately".

    47. Re:Out of curiousity... by Siener · · Score: 4, Insightful

      First, I have to say I'm a big fan of Delphi. I've done dozens of projects with it in the last 10 years.

      I'm a big fan of Delphi too. I have experience in using lots of other development environments for Windows, and Delphi is simply THE best possible tool for Windows development - especially if you are working in a big development team.

      I really believe that once a programmer knows the ins/outs of Object Pascal (the language used by Delphi) he/she can be more productive than in any other language for Windows. Unfortunately many developers never get to that stage. This is of course a problem not exclusive to Delphi - It seems like in many courses for "Visual" languages all the time is spent on learning how to make nice looking forms, and not enough on the core language and proper OO programming - be it Basic, c# or whatever - but I digress.

      Another interesting fact - Java may look like C++, but if you look a bit deeper it has a lot more in common with Object Pascal. E.g. All objects are references, there is a single base class from which all other classes are derived etc. I've seen that because of this it's much easier for a Delphi developer to become a good Java developer than it is for a C++ developer to become one. A new syntax is easy to learn - a new programming philosophy is harder.

      The only reason that the use of Delphi has not become more common seems to be Borland's bad marketing. I once read a editorial in a Delphi magazine where the editor lamented about this. His conclusion was something like this: "It seems that Borland decided let's develop the best tool out there for Windows development, and then keep it a secret"

    48. Re:Out of curiousity... by qurk · · Score: 1

      Indeed, but it is useful as a language in other ways too. I used to make some pretty screensavers in it, and I'm sure you could find other uses for it too. It is a good learning language, but I don't know if you could go to the local BBS and download useful libraries anymore. Was hard to find them, even 10 years ago, but they were there, at least then. Hey do a look on the internet, probably can find some :)

    49. Re:Out of curiousity... by nogginthenog · · Score: 1

      We use it to program our Vaxs!

    50. Re:Out of curiousity... by ceeam · · Score: 1

      The main advantages over the other low-high-level languages - like C family - are:

      1) Much faster and far less messy build cycles.
      2) Better namespace separation.
      3) More developed built-in types (yes, Charlie, there _is_ a difference between "string" being a built-in type and C++ class as disassemblies clearly show. Also there are other examples, like dynamic arrays, ref-counted "interface" pointers etc).
      4) The syntax is less cryptic (arguable) and there are no preprocessor abuse abominations (EG: the whole message maps implementation in VC++ is puky).

      Disadvantages:

      1) Way too verbose for my tastes syntax - my fingers hurt when I do Delphi :-|. "Procedure" and "function" separation is also too obsolete.
      2) Libraries/APIs need to be ported.
      3) Infrastructure (editors etc) is of course less developed than for C.

    51. Re:Out of curiousity... by Eric+S+Raymond · · Score: 1

      TeX

      --
      Bypass Compulsory Web Registration -- http://bugmenot.com/
    52. Re:Out of curiousity... by marcovje · · Score: 1

      Delphi is still RAD number two after VS. Nuff said :-)

    53. Re:Out of curiousity... by Anonymous Coward · · Score: 0

      It's pretty obvious to a user that a program is written using Delphi. They typically use a lot of stock icons and widgets that are distinctly Delphi.

      I suppose it may not be obvious to a 'normal' user.

      Using MFC for GUI development is obnoxious. A Qt license is certainly a good investment if you want to write a lot of GUI programs in C++. Dolphin Smalltalk would also be a fairly good investment if you like Smalltalk. VB has a retarded threading model, so in general it's ok for writing shitty business software but if I actually cared about the program I was working on I wouldn't subject myself to designing it in VB. The language is a pile of shit, coupling the view and the model as the IDE encourages is typically a bad idea, and there's basically no migration path for the code written. .NET suffers from Java's problem of a ridiculous startup time and unacceptable heap usage. Christ, try ATi's control center someday and see how long it takes to startup and how much memory it wastes. When more software actually uses the CLI, users are going to wonder where their computer went.

    54. Re:Out of curiousity... by Anonymous Coward · · Score: 0

      It can be debated which of the two is more dead. If we expand Pascal to include Delphi, then Ada is clearly far, far more dead than Pascal. Otherwise, it's a tough call.

      It's funny how the DoD has dropped its "use Ada" requirements. That basically just leaves defense contractors, aerospace, and certain manufacturing sectors. Getting a job writing Ada is probably more difficult than getting a job writing financial software in Smalltalk. Talk about niche.

    55. Re:Out of curiousity... by Anonymous Coward · · Score: 1, Insightful

      Java is the evolution of the process begun with Objective-C: make Smalltalk a statically-typed language with a syntax C programmers might use.

      Delphi isn't common for two reasons: one is that it's an evolution of Pascal and Pascal undeniably lost to C for mindshare, and the other is that it's a single-vendor language with only a commercial implementation.

      VB won where Delphi lost, largely because of Microsoft's desktop monopoly. It didn't hurt any that BASIC has been taught even to business-types for decades, and that its name probably makes it sound friendlier.

    56. Re:Out of curiousity... by afd8856 · · Score: 1

      one word: Kylix

      --
      I'll do the stupid thing first and then you shy people follow...
    57. Re:Out of curiousity... by bheer · · Score: 2, Interesting

      It's pretty obvious to a user that a program is written using Delphi. They typically use a lot of stock icons and widgets that are distinctly Delphi.

      That's because most programmers aren't artists and reuse whatever came with their IDE. Try Ultra Fractal, it might surprise you.

      My rule-of-thumb to tell Delphi programs is (apart from using Spy++): when you right-click on a Delphi app's tab in the taskbar, you get only a Restore/Minimize/Close menu, not the usual Windows-standard Restore/Move/Size/Minimize/Maximize menu that Microsoft's IDEs use as the default. I was told this was something that's baked into Delphi's Forms implementation, I'd appreciate it if any Delphi gurus could correct me on this.

    58. Re:Out of curiousity... by tez_h · · Score: 1
      [...] but I do know that Pascal is a Context Free Grammar language. That what gives it an incredible compilation speed, but it also automatically means that it has very basic semantics compared to other languages [...]
      I'm afraid this is not even wrong.

      Context-free grammars apply to a language's syntax only. And many languages' syntaxes are defined (though some rather described retrospectively) by some context-free grammar.

      Implementations provide semantics.

      -Tez

      --
      Haskell, the static-typed, lazy, polymorphic, programming language.
    59. Re:Out of curiousity... by marcovje · · Score: 1

      To GPC's defence, it is actually older than FPC.

      However their choice for ISO is a bit unpractical due to Borlands significant rise.

      IMHO the choice for gcc also held them back. It is hard to keep up with a commercially supported team that rewrites the whole codebase every two years.

    60. Re:Out of curiousity... by marcovje · · Score: 1

      Disadvantages:

      >1) Way too verbose for my tastes syntax - my fingers hurt when I do Delphi :-|.

      Then use the codetools more. (lazarus also has these)

      > "Procedure" and "function" separation is also too obsolete.

      > 2) Libraries/APIs need to be ported.

      Only header files. FPC interfaces pretty damn well to C. Native string types can be even passed if read only (and writeable only needs a length update after write: setlength(x,strlen(x));)

      > 3) Infrastructure (editors etc) is of course less developed than for C.

      FPC has Lazarus as RAD, there is Delphi, C has ?

      I think the whole C vs Pascal argument is bogus. C remained pretty much a systems language, with Delphi/FPC Pascal mainly moves into the Application area.

    61. Re:Out of curiousity... by petermgreen · · Score: 2, Informative

      the reason for the unusual taskbar menu is that the taskbar button in delphi was made independent of any particular form it just exists as an app global entity (and has its own window handle etc).

      afaict the reason why they did it this way was for the delphi IDE itself. try loading the delphi 1 ide on a version of windows with a win95 like shell and you will get a flood of taskbar buttons. The one taskbar button approach worked better for thier ide and presumabbly for other apps that used forms in a similar way.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    62. Re:Out of curiousity... by AaronLawrence · · Score: 1

      Yes. However, if you're already ingrained in the Basic mold, you will still have to get over the need to declare variables. Otherwise, it's like the GP said: easy and visual like VB (with many conveniences like .NET but still native), but capable of low level work and high performance like C++. Also it compiles incredibly fast :)

      --
      For every expert, there is an equal and opposite expert. - Arthur C. Clarke
    63. Re:Out of curiousity... by Lonewolf666 · · Score: 1

      Another drawback is Borland's attitude towards bug fixing. There have been a few really embarassing cases of indifference towards known bugs (sorry, can't find the links right now).
      This does not make Borland worse than, for instance, Microsoft, who have their own history of ignoring known problems.
      But I do keep an eye on Free Pascal, in the hope that it will eventually deliver the quality Borland seems not to care about any more. With a slightly guilty conscience because I have so far done no work on improving Free Pascal myself.

      --
      C - the footgun of programming languages
    64. Re:Out of curiousity... by haggar · · Score: 1

      FruityLoops and Total Commander were made with Delphi? I need no further recommendations, I'm sold.

      --
      Sigged!
    65. Re:Out of curiousity... by petermgreen · · Score: 1

      Delphi's indent size seems to be random
      sounds like you've had a run-in with the smart tabs feature without understanding how its supposed to work.

      basically you indent/whatever the first line by hand using the spacebar and then use the tab key on subsequent lines and it lines it up with what you did in the first line.

      there is an option to turn this feature off though i dunno if your collage's setup will let you change it. (it sounds like it won't).

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    66. Re:Out of curiousity... by petermgreen · · Score: 1

      isn't kylix kind of dead in the water and hard to make run on recent distros?

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    67. Re:Out of curiousity... by Zonnald · · Score: 0

      Try Delphi Super Page DSP it contains hundreds of components, applications and stuff mostly freeware/shareware lot's of source code.

    68. Re:Out of curiousity... by Zonnald · · Score: 0

      OOPS, Delphi Super Page
      Forgot the http part.

    69. Re:Out of curiousity... by Zonnald · · Score: 0

      There you have a fine example of a Delphi Developer's craft.
      I have long been a fan of Fractals, and this is one of the nicest user interfaces I have seen for such an application.

    70. Re:Out of curiousity... by Anonymous Coward · · Score: 0

      yes, unfortunately

    71. Re:Out of curiousity... by baadger · · Score: 1

      I think the only software I've ever seen made with pascal was Cubic Player

      The brilliant (and free) Xnews client is written in Delphi (Pascal).

      Pascal still lives on as Delphi and is still widely used, albeit mostly for win32 development.

    72. Re:Out of curiousity... by Anonymous Coward · · Score: 0

      Huh, what? How does being Turing-complete imply a context-free grammar? Aren't those orthogonal issues?

    73. Re:Out of curiousity... by Anonymous Coward · · Score: 0

      I was amazed when I looked at Ada. Much cleaner than modern Pascal variants. All the features invoke a "Well.. Duh!" reaction. I think of it as the best way to program on GCC.

      Too bad, the modern tool support is not at par.

    74. Re:Out of curiousity... by Junks+Jerzey · · Score: 1

      What are it's inherent advantages over other languages?

      The big one is super nice module system, at least if you're talking about Turbo/Delphi compatible Pascal's.

    75. Re:Out of curiousity... by doconnor · · Score: 2, Informative

      Borland has servived compeating directly against Microsoft for about 20 years now. A lot better then most other software companies.

    76. Re:Out of curiousity... by The+Infamous+Grimace · · Score: 1

      I think the only software I've ever seen made with pascal was Cubic Player

      How about Wizardy?

      (tig)
      --
      Ignorance and prejudice and fear
      Walk hand in hand
    77. Re:Out of curiousity... by FooBarWidget · · Score: 1

      Ah yes I agree. Later Delphi versions tend to be buggier than past versions (I get EAccessViolations in the IDE once in a while). There's also an RLE bitmap loading bug in TBitmap, which occured in Delphi 5 but still hasn't been fixed in Delphi 6. :( As a result, I was forced to use Win32 API's LoadImage() to work around the problem.

    78. Re:Out of curiousity... by petermgreen · · Score: 1

      afaict strength of C generally reffers to the ability to get down and dirty where needed. (ie pointer aritmetic possiblly asm,cast between any two types of the same size etc.

      it usually also includes native code compilation.

      the term is usually used contrast to crippled languages (vb, arguablly most bytecode languages) bytecode languages (.net java etc) and scripting languages (perl python etc)

      most borland style pascal variants allow for this.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    79. Re:Out of curiousity... by vrt3 · · Score: 1
      My rule-of-thumb to tell Delphi programs is (apart from using Spy++): when you right-click on a Delphi app's tab in the taskbar, you get only a Restore/Minimize/Close menu, not the usual Windows-standard Restore/Move/Size/Minimize/Maximize menu that Microsoft's IDEs use as the default. I was told this was something that's baked into Delphi's Forms implementation, I'd appreciate it if any Delphi gurus could correct me on this.

      Delphi and C++Builder use the same GUI code (they both use VCL), so they should behave the same with respect to the system menu. Knowing that, I was going to refute you because I had never seen that behavior, while my company sells a C++Builder application.

      Fortunately I checked it first; it turns out you're right. Apparently I had never tried that before. Nice piece of trivia!
      --
      This sig under construction. Please check back later.
    80. Re:Out of curiousity... by Reziac · · Score: 1

      I use a DOS pedigree database that's written in Pascal. The author kindly gave me the source, and even tho I'm not a coder and there's not a single comment, I can follow most of it, just from knowing the program.

      One thing I've noticed about Pascal apps, is that if they crash, they almost never take anything else with them, and don't mess up memory either.

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    81. Re:Out of curiousity... by L505 · · Score: 1

      Try Total Commander on Win32. Or Seksi Commander on Linux

    82. Re:Out of curiousity... by L505 · · Score: 1

      Both. You can mix regular pascal with object pascal. Or just use one alone.

    83. Re:Out of curiousity... by L505 · · Score: 1
      If you need to create variables on the fly and you don't want to scroll around looking for them:

      1. Make a comments. Comment out a variable in your code showing that your variable is declared elsewhere. I.e. Let's say you have some private and public variables declared way at the top of your Pas file. Instead of scrolling up all the time, just make some comments for these variables later on in your code, above the function or procedure where you need to use them. i.e.:

      {
      var
      Str1:string; //public
      String2:string; //private
      }

      procedure SearchFile();
      begin
      ..
      end;

      2. Use an IDE which lets you view your variable's in a side panel or IDE extension of some sort, while you program elsewhere in the file.

      3.Instead of scrolling around and declaring your variables at the top of the file, just declare them in comments first..above the procedure you are working with. Then actually go and hard code them into the appropriate place later, when you are done some programming and ready to compile.

    84. Re:Out of curiousity... by L505 · · Score: 1

      Also, look into TeX and LaTeX. These are popular GnuLinux tools...and thought up with yours truly, pascal.

    85. Re:Out of curiousity... by petermgreen · · Score: 1

      whilst i haven't used modula-2 myself it apparently shares quite a bit in common with the borland dialects of pascal.

      borland pretty much monopolised the pascal compiler market and so thier dialect is what others (freepascal TMT pascal etc) cloned.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  3. Question by Anonymous Coward · · Score: 4, Funny

    If you didn't see the first version, will you be able to follow the plot?

    1. Re:Question by Anonymous Coward · · Score: 0

      well, since the sequel is a rehash of the first movies plot, it's probably going to be more enjoyable if you didn't catch the first one.

    2. Re:Question by flynns · · Score: 1

      I don't care, as long as Jar-Jar takes a trip in the Lava Bath before Anakin does.

      Oh. Wait. Wrong thread.

      Sorry.

      --
      'If you're flammable and have legs, you are never blocking a fire exit.'
  4. Ahh Pascal by CajunArson · · Score: 4, Interesting

    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.
    1. Re:Ahh Pascal by Stibidor · · Score: 1

      I think I still have some of my old Turbo Pascal code lying around somewhere. I wonder how much porting I would have to do to get it to work in Free Pascal. I didn't even know Free Pascal existed, but now that I do, it could mean hours of nostalgic fun! :)

    2. Re:Ahh Pascal by Anonymous Coward · · Score: 0

      If you don't use i, j, k in for loops you are an evil, evil man.

    3. Re:Ahh Pascal by petermgreen · · Score: 1

      agreed i tend to consider those a special case whose meaning should be known to any decent programmer.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    4. Re:Ahh Pascal by Lisandro · · Score: 1

      Come on, you use "h", "x", "y", and the ever popular "i" for loops and counters, and you know it!

      Actually, it was kinda the same for me... it got used to descriptive variable names (...and Hungarian notation, which some people hate) when i moved from Basic / QuickBasic to Pascal and C/C++. Using short names was something i grow accostumed to with my C64 and it became a hard habit to kill until it became absolutely neccesary.

      And yes, Borland Turbo Pascal was an excellent package. I don't recall a whole lot of Pascal interpreters / compilers back in the day, and i'm sure BTP had a lot to do with the popularity of Pascal in the 90s. Borland will always have a place in my heart for Borland C/C++ 3.1 though, the finest IDE in history.

    5. Re:Ahh Pascal by tepples · · Score: 1

      (Ok, a little extreme, but I can't remember the last time I used 'x' as a variable name... joy)

      What do you use when stepping through a two-dimensional array that represents data points on a plane? I'd use the following (language agnostic pseudocode because Slashcode hates python):

      for y from 0 to height - 1
      (
      for x from 0 to width - 1
      (
      do_stuff_at(x, y)
      )
      )
    6. Re:Ahh Pascal by man_ls · · Score: 2, Insightful

      In such a case, x and y *are* descriptive variable names :p

    7. Re:Ahh Pascal by CajunArson · · Score: 1

      That's easy... first all my iterators are 'I' based (just a personal preference) Secondly, as I was taught by me Jedi Masters in undergrad I use iterators with names like 'II', 'JJ', 'KK'...
      The reason is, in some cases where somebody else was dumb enough to put in a 'j' or 'k' variable, the iterator will stand out which helps with overall readability. Now that I'm using python heavily, I tend to stick to the II, JJ... style for numeric loops. But for walking through collections or dictionaries I've started to gravitate towards a next style where is descriptive of the type of thing I'm iterating through.

      --
      AntiFA: An abbreviation for Anti First Amendment.
    8. Re:Ahh Pascal by Daniel+Ellard · · Score: 1
      Amen to that!

      The original Turbo Pascal fit comfortably on a single 360K floppy, with space left over for DOS and all the source code you were likely to write. The IDE included everything you'd want (including an editor that would occasionally scramble files beyond recognition -- but in 1983, that was par for the course on PCs anyway) and nothing you didn't. It was a triumph of interface engineering, given the resources it had to work with (even today, I'd prefer it to most things).

      Kudos to the people who built the original Turbo Pascal, wherever they are.

      --
      Disclaimer: I work for a company, but I don't speak for them.
    9. Re:Ahh Pascal by CajunArson · · Score: 1

      Ahh crap... there are some brackets in that last post you can't see... I meant: next[Object] where [Object] is a descriptive name of the type of object I'm iterating over.

      --
      AntiFA: An abbreviation for Anti First Amendment.
    10. Re:Ahh Pascal by nacturation · · Score: 1

      Same here. Rather than studying for high school finals, I spent a couple of weeks and wrote a BBS program in Turbo Pascal with messaging, support for doors, etc. I released it with source to a few local BBSes but it doesn't look like that got mirrored to anywhere else as I lost the source myself and haven't been able to find it since. Only one other BBS that I know of set it up and ran it. Ah, memories...

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    11. Re:Ahh Pascal by sleepingsquirrel · · Score: 1
      Ok, a little extreme, but I can't remember the last time I used 'x' as a variable name... joy)
      But the Joy language doesn't even have variables!
    12. Re:Ahh Pascal by Frumious+Wombat · · Score: 1

      It's nice to see Pascal-family languages attempt a comeback against the Line-Noise-Family (you know who you are).

      I started with UCSD P-System (yuck), moved to TurboPascal 2.0 (nice), and ended up with VAX Pascal (marvelous). The only issue was that with 6 - 8 comp. sci. projects being compiled on an 11/750, it got terribly slow, but the strings weren't compatible between Turbo-P and VAX-P. I seem to remember writing an alternate STRING datatype laid out like the VAX expected it, so that I could prototype on my QX-16, then upload to the VAX for final compilation. Turbo-Pascal using the Wordstar key sequences helped immensely as well.

      Everything old is new again; FreePascal hits 2.0, GFortran includes F95 (which is enough like non-OO Pascal/Ada for the desperate), and Smalltalk (Squeak) is being used for large software. Now all we need is GNU-Algol.

      --
      the more accurate the calculations became, the more the concepts tended to vanish into thin air. R. S. Mulliken
    13. Re:Ahh Pascal by AndroidCat · · Score: 1

      Heheh. C# for Microsoft. (BTW, last time I looked, the older versions of TP were available on the Borland site. 35k for the editor/compiler, wow.)

      --
      One line blog. I hear that they're called Twitters now.
    14. Re:Ahh Pascal by shadowbearer · · Score: 1


      That editor was sweet. I don't recall that it scrambled any files for me, but the floppy effect may have masked that :)

      Hard to believe how long ago that was.

      Cheers,
      SB

      --
      It's old. The more humans I meet, the more I like my cats. At least they are honest.
    15. Re:Ahh Pascal by Anonymous Coward · · Score: 0
      "I'd use the following (language agnostic pseudocode because Slashcode hates python)"

      You just have to know how to do it:
      for y from 0 to height - 1:
      for x from 0 to width - 1:
      do_stuff_at(x, y)
      The above was done using the <ecode> tag and leading spaces (instead of tabs).
    16. Re:Ahh Pascal by Anonymous Coward · · Score: 0
      Heh, I remember my first contact with Turbo Pascal on a Z80 machine running CP/M at University. It had a fullscreen editor, integrated debugger and edit-compile-debug cycle of a few seconds.

      This was a huge leap. Next to me the senior students were doing their final exam programs in C, which went like this:

      1. Edit source in WordStar
      2. Run the compiler (Manx Aztec C) to produce assembler source file
      3. Run the assembler to produce object file
        (repeat the above for each source file)
      4. Run the linker to produce the executable

      Their cycle was about five minutes, at least.

      The compiler was blindingly fast (several thousands of lines in a couple of seconds).

  5. Here comes FSF knocking by Anonymous Coward · · Score: 1, Funny

    What? OS X? Commercial CPUs!?
    We can't have that! Free should work with freeness.

    1. Re:Here comes FSF knocking by petermgreen · · Score: 1

      afaict all practical CPUs are commercial

      as for the operating systems well it comes down to what people want to code for. It should be noted that the main article only mentioned new architectures and operating systems. linux freebsd and win32 support are still just fine ;)

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    2. Re:Here comes FSF knocking by Anonymous Coward · · Score: 0

      Sounds like a self-defense situation. It's not that you can't shoot something/someone with Pascal, you just have to want to.

  6. good! by Rez-9 · · Score: 1



    And that's a news of the day. Let's see what they fixed. :)

  7. nightmares by necrognome · · Score: 1

    *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!
    1. Re:nightmares by petermgreen · · Score: 3, Informative

      its so sad the impressions people like you get of pascal from shitty expericances in the education system.

      modern object pascal (as in delphi and freepascal) is actually a very nice language that imo gets the balance between power and complexity just right. (unlike C++ which is extremely complecated and bytecode languages that imo feel crippled)

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    2. Re:nightmares by BurntNickel · · Score: 1

      What features were missing from Think? Version 4 had object Pascal support which was pretty cool. After that one had to move to Code Warrior which I though was pretty kick ass.

      --
      And the knowledge that they fear is a weapon to be used against them...
    3. Re:nightmares by connorbd · · Score: 1

      The Think devotees were as attached to their IDEs as they were to their Macs. I played with Think Pascal once and it was a very well-designed program -- CodeWarrior was cool, but rather minimalist at the beginning and downright crufty after a few years.

    4. Re:nightmares by necrognome · · Score: 1

      The deficiencies were those of the language, not the THINK environment (I was a big fan of THINK C btw).

      --


      Let's get drunk and delete production data!
    5. Re:nightmares by dtfinch · · Score: 1

      I remember learning Turbo Pascal on an XT during my freshman year of highschool, in 1996. Despite having to use hardware that was as old as I was, it was probably the best programming class I ever had.

      Strangely, I haven't used Pascal since.

    6. Re:nightmares by Anonymous Coward · · Score: 0

      In English, most sentences begin with a capital letter. Also, please observe the correct spelling of the words "experiences" "complicated". Finally, the first word of your post should be spelled "It's" (capital "I", apostrophe).

  8. missed opportunity by Anonymous Coward · · Score: 4, Interesting
    I'm glad to see a FREE pascal compiler available. Having used earliere versions of Free Pascal, I can say it's high quality.

    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 :(

    1. Re:missed opportunity by namekuseijin · · Score: 1

      this is very unfortunate, but i'm glad to see free pascal evolving this nicely.

      and the lazarus project is coming along very smoothly as well...

      --
      I don't feel like it...
    2. Re:missed opportunity by messju · · Score: 3, Interesting

      I'm neither in GCC nor in FP, but FP as a GCC *frontend* would make more sense to me.

    3. Re:missed opportunity by petermgreen · · Score: 2, Interesting

      you got a copy of the mails confirming that? i've never heared any of the developers mention it (and i hang out on irc with them a lot)

      freepascal does like to do things its own way and i don't really blame them. much less stressfull to stay away from politics and just write a compiler with a smallish but friendly team.

      The only real problem this brings is support for less CPU types than GCC has.

      btw freepascal is written in pascal (and only compiles using freepascal nowadays).

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    4. Re:missed opportunity by justsomebody · · Score: 2, Interesting

      However, I wish the FP (and I don't mean first post) people and the GCC people would settle their pissing match.

      Funny thing. But, FPC people are known for their pissing matches. Go and start reading their mailing list. It's one big pissing contest (in fact pascal people always held pissing contests with C, but I don't remember a lot of C people being bothered). Whenever someone tries to get something new... well, here we go...

      --
      Signature Pro version 1.13.2-3 release 83.5 beta3try7 after-breakfast edition
    5. Re:missed opportunity by Anonymous Coward · · Score: 0
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register

      Lucky you. "plugwash" sounds like some kind of anal sex toy.
    6. Re:missed opportunity by petermgreen · · Score: 0, Offtopic

      lol i've never heared my nick described that way though

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    7. Re:missed opportunity by petermgreen · · Score: 1

      grr that should have been before not though

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    8. Re: Missed opportunity by nimblebrain · · Score: 1

      The thing I like about the FreePascal crowd is that they don't go overboard adding shortcuts and special rules. I remember trying out GPC, and wondering if there was any hope of porting one of my frameworks to it, but it's practically Alice-in-Wonderland-esque in there. At least, my impression was that the ground was constantly shifting. Heck, you can use & and | instead of and and or.

      I'm pleased also to hear that FreePascal is moving to Subversion - we've been using Subversion as a version control system for a while, and it's a very, very nice alternative to CVS.

      I'm also glad that FreePascal has introduced interfaces. We've been forging a very nice foundational class library from interfaces. I have a few presentations put together for CDUG here in town, specifically for Delphi, but now relevant to FreePascal. (I wonder if the Generics trick will work in FP or not :)

      Lazarus was still very, very rough around the edges last I checked. Perhaps after my wedding, I'll have time to poke my nose in there and at least help clean things up :)

      -- Ritchie

      --
      Binary geeks can count to 1,023 on their fingers :)
    9. Re:missed opportunity by Anonymous Coward · · Score: 0

      In English, most sentences begin with a capital letter. Etc.

    10. Re:missed opportunity by marcovje · · Score: 2, Insightful


      People that get caught up in pissing contests typically don't reach 2.0

    11. Re:missed opportunity by marcovje · · Score: 1

      The reasons for FPC not choosing GCC are manifold.

      However besides a fundamental David vs Goliath problem (Please hold of GCC 4.0, I want to do some Pascal patches), none of these have anything to do with the relations between gcc, gpc and FPC teams now, or in the past.

      For more reasons, see further below.

    12. Re:missed opportunity by Anonymous Coward · · Score: 0

      Really? I see RedHat developers getting into pissing contests with Novell developers all of the time. I guess they must all be working on things with version numbers <2.0

      What's sad is that your post as been moderated "Insightful." What the fuck was insightful about it?

    13. Re:missed opportunity by master_p · · Score: 1

      That's quite true. The most often reply, when GCC people are asked for help on writing front-ends, is to a) analyse the source code, b) try yacc-lex, c) break your head in the wall.

      Is there a clean tutorial of how to write a front-end for GCC? nope, it is not. The most recent 'tutorial' is some published information about the internal languages that GCC use to represent that AST: they contain some general information, but nothing in particular, not even an example.

      It seems that GCC people are afraid that someone might right a better programming language, taking advantage of their great efforts towards optimization.

    14. Re:missed opportunity by RupW · · Score: 1

      That's quite true. The most often reply, when GCC people are asked for help on writing front-ends, is to a) analyse the source code, b) try yacc-lex, c) break your head in the wall.

      There's a toy language, treelang, to play with - you can see what's needed from that. Essentially that was intended as 'code documentation' for a basic front-end.

      It seems that GCC people are afraid that someone might right a better programming language, taking advantage of their great efforts towards optimization.

      There's no great conspiracy theory - simply no-one's stepped up and written formal docs or tutorials. As usual, if you want something that no-one else wants you'll have to pay someone to do it or do it yourself.

    15. Re:missed opportunity by Per+Abrahamsen · · Score: 1

      GCC does not have a clean front-end interface, even though a big step forward was taken in GCC 4.0.

      GCC development is largely driven by external funding, and getting funding for writting a "GCC front-ends for dumies" is not easy. Especially when the front-end interface is in flux.

      Examining the toy front-ends end the most recent real front-ends, plus the more technical documents, is the best advice there is to give for the time being.

      But a volunteer for writting better documentation would be appreciated.

    16. Re:missed opportunity by marcovje · · Score: 1

      FPC didn't have an IPO that could be abused to fund pissing contests

    17. Re:missed opportunity by Anonymous Coward · · Score: 0

      Brian K started the pissing match called "Why pascal isn't my favorite programming language?" The inventor of C started the pissing match.

    18. Re:missed opportunity by Anonymous Coward · · Score: 0

      The word fuck sure was insightful. And, fuck, it was informative too.

  9. Can we make an ARM cross compiler out of FPK? by soapdog · · Score: 1

    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á!!!
    1. Re:Can we make an ARM cross compiler out of FPK? by petermgreen · · Score: 1

      it shouldn't be too hard its really just a matter of someone with the skills and the motivation getting round to doing it

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    2. Re:Can we make an ARM cross compiler out of FPK? by Halo1 · · Score: 1

      Ask and ye shall receive.

      --
      Donate free food here
  10. You think they'll teach this as a starter OO class by kerv · · Score: 0

    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?

  11. The good old days... by Bifurcati · · Score: 1
    I remember the good old days of Turbo Pascal, working with just 640kb of conventional memory, and trying to figure out how to swap some extended memory pages in, or use the mouse. It's pretty amazing how far programming languages have become - whether Windows or Mac it's certainly a lot easier to do a lot more knowing a lot less, for better or worse.

    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.

    1. Re:The good old days... by xeon4life · · Score: 1

      Haha! If I had mod points I would give them to you, because that does not deserve a -1. I was LMAO at that one.

      --
      Real programmers can write assembly code in any language. -- Larry Wall
    2. Re:The good old days... by just-a-stone · · Score: 1

      pascal itself is outdated, but it still is a very clear language where coding is just great fun.
      the idea of lazarus (write once, compile on different platforms) is very nice, the linux ide still had some nasty bugs but provides the most important features AND it was more stable than the one from kylix.

    3. Re:The good old days... by petermgreen · · Score: 1

      there are lots of delphi apps out there its just it isn't so obvious which ones they are (hint: look for names ending in .dfm in a resource viewer)

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    4. Re:The good old days... by keraneuology · · Score: 1
      4 years of Comp Sci in HS 1986-1990 starting out with Turbo Pascal 3.0 - oh the joys experienced when we got all the way up to 5.5 with the improved editing system. Our lab had a utility picked up from somewhere that would automatically format the sourcecode into neatly indented, spaced and CAPed variables and whatnot. (Which some smartalec modified to reformat all sourcecode removing all lowercase letters that weren't in quotes, all formatting spaces, indents and carriage returns to try and get the entire source to redisplay on as few lines as possible.)

      It was a very powerful development tool: one of the students wrote some AI routines whereby one dot chased another dot that was learning how to avoid being captured.

      A few years after I graduated I heard that the AP exam had stopped using Pascal and switched to C. By then the dual 360kb floppy machines were gone from the lab as were the XL style keyboards that had seen thousands of hours of spacewar.

      --
      If the g'vt kept the data on you that google does you'd better believe you'd be calling it "doing evil"
    5. Re:The good old days... by Unordained · · Score: 1

      .dfm files would also appear in projects compiled with Borland C++ Builder -- the files are common to both Delphi and Builder.

    6. Re:The good old days... by petermgreen · · Score: 1

      true though C++ builder apps are using a component library written in pascal so there is pascal code compiled into that binary ;)

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    7. Re:The good old days... by meosborne · · Score: 1

      You had 640K? You had it easy, enough memory to wallow in. :-) I used Turbo Pascal under Montezuma Micro CP/M on a TRS-80 Model 4 with 64K of RAM to write software to monitor an environment simulation chamber used to test new heat pump designs. It was a truly wonderful product and worked flawlessly. Compilation speeds on the 4MHz Z-80 blew everything else away.

    8. Re:The good old days... by Anonymous Coward · · Score: 0
      I believe Bill Gates said something like "640Kb ought to be enough for anybody." But, it might just be a rumor.

      Happy hunting!

      Luv ya,
      A.C.

    9. Re:The good old days... by wolverine1999 · · Score: 1

      A number of applications these days are written in Pascal. They include custom applications and special purpose applications. Some utilities and programs you can download from the Internet were written in Delphi (Pascal) too. So no, it isn't a vanity project at all.

    10. Re:The good old days... by marcovje · · Score: 1


      C is pretty a systems only language.

      Free Pascal is targeted at programming applications (since it directly takes after Delphi)

  12. Pascal and Delphi by terryfunk · · Score: 2, Interesting

    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.

    1. Re:Pascal and Delphi by xquark · · Score: 1

      Delphi uses an extension of Pascal known as Object Pascal, Delphi
      itself is an RAD/IDE, however over the years people have come to
      associate the Object Pascal language with Delphi and vica versa.

      I personally think Object Pascal with Borland's extensions i.e.:
      interfaces and properties etc, make Object Pascal one of the best
      programming language currently available.

      Its clean, it readable, its highly type-safe and most importantly
      its really fast!

      Arash Partow
      __________________________________________ ________
      Be one who knows what they don't know,
      Instead of being one who knows not what they don't know,
      Thinking they know everything about all things.
      http://www.partow.net/

      --
      Arash Partow's Philosophy: Be a person who knows what they don't know, and not a person who doesn't know.
  13. Pascal by FidelCatsro · · Score: 4, Interesting

    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
  14. SmartEiffel, Oberon by cahiha · · Score: 5, Interesting

    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.

    1. Re:SmartEiffel, Oberon by HiThere · · Score: 1

      Unfortunately, SmartEiffel is currently going through a few growing pains (I hope). The 2.0 release breaks a lot of old code, and the 2.1 release breaks a lot of 2.0 code.

      They've just recently decided that they are deisigning for a language that doesn't match any of the other specifications of Eiffel (close...but not compatible). I don't know what is going to happen, but this is a good time to experiment, but not a good time to commit.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
  15. Hmmm by Anonymous Coward · · Score: 0

    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...

    1. Re:Hmmm by AndroidCat · · Score: 1

      I have finger macros that handle switching between { } and begin end.

      --
      One line blog. I hear that they're called Twitters now.
    2. Re:Hmmm by L505 · · Score: 1

      Unless you like to strain your pinky, typing begin and end is actually faster than using a curly brace.

  16. Any good Pascal books... by __aaclcg7560 · · Score: 1

    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?

    1. Re:Any good Pascal books... by Anonymous Coward · · Score: 0

      How about the Pascal User Manual and Report by Kathleen Jensen and Niklaus Wirth?

    2. Re:Any good Pascal books... by Anonymous Coward · · Score: 1, Insightful

      And, of course, Software Tools in Pascal by Kernighan and Plauger

    3. Re:Any good Pascal books... by Anonymous Coward · · Score: 0

      And, a classic, Pascal Programming for Music Research by Alexander R. Brinkman -- truly an amazing book.

    4. Re:Any good Pascal books... by HidingMyName · · Score: 1
      I was a professional Pascal programmer back in the day (mid 1980's). One of the best C.S. books of all time is Niklaus Wirth's Data Structures+Algorithms=Programs. Don't bother with the watered down Modula 2 followup book (unless you want to learn Modula 2), this version covers many useful algorithms AND even shows a compiler with a virtual machine interpreter, done in stages with stepwise refinement.

      Pascal had many limitiations, however, many production versions of the language had useful but nonstandard work arounds.

    5. Re:Any good Pascal books... by Anonymous Coward · · Score: 0

      You expect someone to read a book on Pascal by Brian K. the guy that wrote "Why pascal isn't my favorite programming language." ? The Brian K. guy is profiting off his pascal book while knocking it down at the same time?

    6. Re:Any good Pascal books... by petermgreen · · Score: 1

      Pascal had many limitiations, however, many production versions of the language had useful but nonstandard work arounds.
      of which borlands have become the de-facto standard ;)

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  17. So what do pascal programmers eat now adays? by Anonymous Coward · · Score: 1, Funny

    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?

    1. Re:So what do pascal programmers eat now adays? by petermgreen · · Score: 0

      well i code in pascal and i mainly eat the following

      sausage and bacon for breakfast usually

      for other meals usually one of the following
      cheese sandwitches
      SPAM sandwitches
      sausage sandwitches

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  18. Re:awww by Anonymous Coward · · Score: 0

    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.

  19. When does Free Algol come out? by WillAffleckUW · · Score: 1

    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! --
  20. Re:You think they'll teach this as a starter OO cl by nate+nice · · Score: 1

    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 ..."
  21. Boggled by rscrawford · · Score: 2, Interesting

    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.
    1. Re:Boggled by Anonymous Coward · · Score: 0

      Oh! Pascal! was my pascal programming book when I took the only programming course at my high school. This was not 1984 though, it was 1998! Our programming class was using 386's and probably still is. My God was my high school backward. Guess you don't need anything too powerful though to learn basic good programming.

    2. Re:Boggled by Anonymous Coward · · Score: 0

      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.


      But try to tell the kids today... they just won't believe you.

    3. Re:Boggled by Noodleroni · · Score: 1

      When I was a little tacker, I used to read my dad's Oh! Pascal all the time :-)

      --
      Esse quam vederi.
    4. Re:Boggled by AndroidCat · · Score: 1

      If you'd switched to Microware OS-9 on your CoCo, Basic09 was a lot more structured than the MS Basics of the day. Plus you would have had quite a kick-ass Unix-like micro-kernel OS for a machine of that class. (If you've still got it, there are still CoCo hackers still doing stuff including the NitrOS-9 project.)

      --
      One line blog. I hear that they're called Twitters now.
    5. Re:Boggled by Anonymous Coward · · Score: 0

      Don't put noses on emoticons. It's fucking stupid. I mean, we get it. It's a fucking smiley face. Putting a nose on it doesn't make it any more or less pathetic than the next emoticon. Anyway, back to the start, just don't fucking use emoticons. They serve no purpose. they are fucking retarded, and they don't do anything words can't. And if you can't think up the right words to convey an emotion, just say it. "I'm happy, as I don't know any better!" "I'm angry, because some dumb fucker put a nose on an emoticon" See how easy that is? And it doesn't even make you look like an ignorant dipshit! How wonderful!

    6. Re:Boggled by Anonymous Coward · · Score: 0

      really? I used to read my dad's Playboy's. Actually, it wasn't reading so much as oogling.

    7. Re:Boggled by britneys+9th+husband · · Score: 1

      8-|

      --
      Hear recorded Slashdot headlines on your phone! New service beta testing. Just call (248) 434-5508
    8. Re:Boggled by Anonymous Coward · · Score: 0

      Don't put noses on emoticons. It's fucking stupid. I mean, we get it. It's a fucking smiley face. Putting a nose on it doesn't make it any more or less pathetic than the next emoticon. Anyway, back to the start, just don't fucking use emoticons. They serve no purpose. they are fucking retarded, and they don't do anything words can't. And if you can't think up the right words to convey an emotion, just say it. "I'm happy, as I don't know any better!" "I'm angry, because some dumb fucker put a nose on an emoticon" See how easy that is? And it doesn't even make you look like an ignorant dipshit! How wonderful!

    9. Re:Boggled by sjs132 · · Score: 1

      Actually the Coco DID have pascal... I used to have a copy around here somewhere, but I packed it all up... Basically it ran under the OS-9, and it would compile some type of assembly that you then ran through the OS-9 ASM to assemble the binaries... Very cool back then what you could do with 64K of Ram and 2 floppy drives...

      As someone else pointed out, the CoCo IS still being toyed with... I still have all my CoCo stuff packed away in big Plastic Bins that I REFUSE to pitch or Ebay simply because of the fond memories of those younger and more innocent computer days. Untill I got a copy of Strip Poker in Basic... uhhhh.... ok, TMI... 1980 was a good year...

      --
      --- Relax, that mass muderer is just trying to reduce our carbon footprint, one fetus at a time...
    10. Re:Boggled by GimliGloin · · Score: 1

      Yes, I remember "Oh, Pascal!". I still have the book somewhere...

      I used the Pascal Compiler from a company called Abacus. I think they had a C compiler as well. I was actually coding Pascal in High School in the mid 80s with it...

      Brings back some Kuel memories...

      As far as PCs I STILL like the Turbo C/ Turbo Pascal text based IDE better than the hadge-podge of multiple GUI ones I use today... Borland was KING in the late 80s and early 90s...

      GSG

    11. Re:Boggled by Anonymous Coward · · Score: 0

      The text based IDE is a nice back up for emergency situations.. It's pretty advanced for a text based IDE. But it's not as productive. Ctrl-K-routines for selecting text is not as productive either. Anyone who denies this is living in the past, living for the past...

  22. Re:awww by Anonymous Coward · · Score: 0

    "I think it's so cute that Delphi users consider themselves "developers.""

    More so than RealBasic users.

  23. A bit late... by Daniel+Ellard · · Score: 1
    It sounds like this "Pascal" is quite extended compared to the original. That's a nice start, but how does it measure up in terms of features to, say, Modula-3? Pascal faded into obscurity everywhere twenty years ago (except for a dwindling number of intro CS classes). What are people planning to do with this? Is it more than retro chic?

    --
    Disclaimer: I work for a company, but I don't speak for them.
    1. Re:A bit late... by petermgreen · · Score: 1

      freepascal has mostly followed what borland did with the language up to and including about delphi 5 and ahs made a few improvements of its own.

      i can't compare to modula 3 as i've never used it.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    2. Re:A bit late... by Anonymous Coward · · Score: 0

      In that case, calling it "Pascal" is retro chic. To first approximation, Delphi is to Pascal as C++ is to C. (I'm sure someone will quibble with this, but it's just rough approx.) Modula-3 is more like what you would get if you rammed together Java and Ada and threw away the parts that didn't suck -- it's not a large language. (I'm even more sure that someone will quibble with this, but it's the best I can think of right now)

    3. Re:A bit late... by petermgreen · · Score: 1

      maybe we've never really had a good new name though

      generally we use the term pascal in passing conversation and object pascal (which is what borland used for the language itself with earlier versions of delphi) when we wan't to be a bit more precise

      the name delphi kind of implies the delphi RAD environment as well as the language imo.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    4. Re:A bit late... by footNipple · · Score: 1
      It sounds like this "Pascal" is quite extended compared to the original.

      Absolutely. The Pascal that is Delphi and FP 2.0 is far and away more advanced and useful than the ISO version and versions of yesteryear. It is every bit as powerful, versatile and useful in the x86 Win32, .Net and Linux realms as c and c++.

      There are large numbers of libraries and components for just about everything one would need.

      For many people, myself included, Pascal just feels better. It's easier to read and use and it's object model (Delphi and FP) seems more harmonious than the various bracketed languages.

      What are people planning to do with this?

      Delphi and FP are widely used variants of the Pascal language. People are not only planning, but actively developing all types of native compiled applications.

      Is it more than retro chic?

      Absolutely. It is an active part of future development.

    5. Re:A bit late... by Lucas+Membrane · · Score: 1

      Does it have generics?

    6. Re:A bit late... by Anonymous Coward · · Score: 0

      That's a preprocessor thing, and every now and then I'm tempted to spend a few weekends and add generics - cos you don't need to get your hands dirty with the compiler to write a preprocessor.

      The short answer is no it doesn't have generics and a lot of people don't want it to.
      The long answer is it has all the functionality of generics because its containers etc manipulate base objects (the exact class of object not specified), but that's just not as typesafe as generics, and untyped is ugly to a Pascal programmer.

      C style generics are untyped in that thay can be constructed for types they shouldn't be, but this is a minor problem and any bugs from it are unlikely to go unnoticed.

      One day there'll be generics ;)
      The people that rail against them can just refrain from using the preprocessor

    7. Re:A bit late... by petermgreen · · Score: 1

      and ofc if you want to store integers just cast them to the relevent type so the structure will store them directly ;)

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    8. Re:A bit late... by Anonymous Coward · · Score: 0

      Parametric polymorphism isn't a "preprocessor thing." It's an important part of the type system. You can write a compiler that outputs Pascal with monomorphic functions and types and then compile that, but that isn't really a preprocessor.

    9. Re:A bit late... by Anonymous Coward · · Score: 0

      No. I'd really like to pre-paramaticly discuss with you the Parametric polymorphism and the monomorphic preprocessor, but I post paramatically pre-process that I'd like to get on with programming something useful in the real world instead.

  24. Best news I've heard in YEARS! by xquark · · Score: 1

    Look what more can anyone say?
    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 :D

    Arash

    --
    Arash Partow's Philosophy: Be a person who knows what they don't know, and not a person who doesn't know.
    1. Re:Best news I've heard in YEARS! by Dr_Marvin_Monroe · · Score: 1

      Perhaps the force IS with them.... Why, I learned Pascal as my FIRST programming language when the first Star Wars movie came out!

      Now, the LAST Star Wars movie has come out, but I've switched to the dark side and I am now coding in C, perhaps the LAST language that I'll want to learn before I'm destroyed by my son!... It's amazing...No, It's the power of the force.

  25. Re:awww by Nutria · · Score: 3, Funny

    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
  26. The real question is... by johansalk · · Score: 1

    Why did pascal lose popularity?

    1. Re:The real question is... by Anonymous Coward · · Score: 0

      because everyone though Unix was the greatest thing - and unfortunately, C was the only free compiler on Unix....so we all get stuck with C

    2. Re:The real question is... by cnettel · · Score: 1
      Because Standard Pascal is a heck to handle. Just try doing file I/O. Or strings. Turbo Pascal (=> Object Pascal => Delphi) or any "modern" edition is/was quite nice, but on the other hand much more similar to a somewhat cleaner and radically more verbose C++. I switched without much pain from Pascal to C in 1997 and I think afterwards that my style of Pascal was really just bending the language to try to fit in what is easy allowed by the freer C syntax.

      Not that the C syntax is only a good thing....

    3. Re:The real question is... by swb · · Score: 1

      I wonder if the answer isn't "Unix". Pascal seemed to reach its apogee on non-Unix minis and DOS-based PCs in the late 80s and very early 90s, which is about the same time that Unix-based workstations became very popular.

      I seem to remember Pascal being THE language to master in the early and mid 80s. The mainframe based timesharing systems all had Pascal compilers and they were even available (if you had the luxury of two floppies) for Apple ][ computers. I knew people who did software development in Pascal on IBM PCs in the 1980s. I seem to remember all my "Inside Macintosh" books had Pascal code in them.

      The Unix/C transition may be more of a coincidence than anything else, but it doesn't seem that it hurt.

    4. Re:The real question is... by Anonymous Coward · · Score: 0

      I remember trying to use the AIX xlp pascal compiler. If you tried to read a number but the user entered non-numeric text...core dump. ISO pascal file IO sucks worse than than Rob Malda at a dick sucking contest.

    5. Re:The real question is... by lifeblender · · Score: 1

      Everyone who has replied to you has missed one thing: the original version of Pascal, which was designed as a teaching language, and all the versions of Turbo Pascal I used, treated the size of an array as part of the type. Think about that for a minute. An array of size 10 was a different type from an array of size 20, even when the objects stored at each index were of the same type. So... try writing a sort function in a generic way. You can't. Lots of library functions cannot be written with standard Pascal. Of course, this was eventually changed, but there was no spokesperson for the language since the original author had NOT intended it for real use. Thus, there were lots of versions of Pascal, and most of them still had this trouble. That is one of the reasons Pascal died: people could not write library functions easily. As opposed to C, where it is very, very easy.

      --
      Playing pornographics games during the day is evil! Play at night!
    6. Re:The real question is... by Anonymous Coward · · Score: 0

      Why did pascal lose popularity?

      It didn't lose what it never had. There was no standard version that wasn't a toy.

    7. Re:The real question is... by marcovje · · Score: 1


      It wasn't tied to an OS that got popular, which was what saved its direct competitor C.

      C, unforgiving and terse as it is, obtained a stronghold in systems programming through Unix.

    8. Re:The real question is... by Anonymous Coward · · Score: 0

      An array of length n is different from an array of lenth n+1 in C, too. However arrays for all intents and purposes decay into pointers.

    9. Re:The real question is... by Anonymous Coward · · Score: 0

      and Pascal doesn't have pointers. Your point? Er.

    10. Re:The real question is... by L505 · · Score: 1

      You could use pointers when there were no dynamic arrays. But all the latest compilers support dynamic arrays. The reason there weren't dynamic arrays in the early days was more due to the fact that not as many people were extending the language helping out with creating a compiler that could utilize dynamic arrays. The language has progressed and you are spreading myths around slashdot that were only true in the 1980's. You sound like Bryan K when he made an ass of himself writing an article called "Why Pascal isn't my favorite Language, 1981".

    11. Re:The real question is... by L505 · · Score: 1

      @Pascal has ^pointers. Where'd you get that idea from?

  27. screenshots by Anonymous Coward · · Score: 0

    where can i see some screenshots??

  28. OO.o is saved! by Anonymous Coward · · Score: 1, Funny

    Great! a free programming language! We can use it to rewrite OpenOffice.org and free it from the shackles of proprietary java!

  29. Real Programmers by anoiniminious+cowher · · Score: 2, Funny
    1. Re:Real Programmers by Anonymous Coward · · Score: 1, Funny

      I agree, Pascel really sucks. I much prefer Jiva.

    2. Re:Real Programmers by petermgreen · · Score: 1

      right......

      one thing gives away totally that he either doesn't have a clue or is trying to be funny.

      he advocates self modifying code. This is basically impossible on some modern processors and extremely slow on others.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    3. Re:Real Programmers by anoiniminious+cowher · · Score: 1

      he advocates self modifying code. This is basically impossible on some modern processors and extremely slow on others. Yes, but was that true in 1983?

    4. Re:Real Programmers by petermgreen · · Score: 1

      ahh didn't notice someone was posting an extremely outdated peice ;)

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  30. Grandpa, What was it like when you were a kid??? by bosewicht · · Score: 0

    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
  31. Easy to shoot your own foot w/Pascal by xv4n · · Score: 2, Insightful

    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.

    1. Re:Easy to shoot your own foot w/Pascal by petermgreen · · Score: 1

      yeah this was a big issue with old style pascal strings (which were essentially just large arrays) if you weren't carefull

      btw you should have used const not var if you didn't intend to modify the parameter inside the procedure.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    2. Re:Easy to shoot your own foot w/Pascal by cnettel · · Score: 2, Insightful
      I'm not very sure if I prefer the C notion that passing an array is actually always passing down a reference to it. Or that objects, but not primitives, are always passed by reference in Java. Try to teach a class what the stack is and that parameters are just funky names you give to copies of your data, when so much of it is still treated like they weren't copies at all.

      In C (and even more so in Java) you shoot yourself in the foot in the foot by accident, you get the wrong results from what a naive interpretation of the syntax from a general computer science standpoint could indicate. In Pascal, you get what you asked for. It's stupid, but it is what you asked for.

    3. Re:Easy to shoot your own foot w/Pascal by JasonStiletto · · Score: 1

      its easy to shoot yourself in the foot in a large number of languages.Pascal is much less open to the large number of logic errors C offers up on a silver plater.

  32. Turbo Pascal by jd · · Score: 1

    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)
  33. Looks great to me! by Anonymous Coward · · Score: 0

    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.

    1. Re:Looks great to me! by L505 · · Score: 1
      You can develop DLL's and .SO's (linux) in freepascal (with ease). Delphi can develop DLL's (with ease).

      Just change the program keyword to Library, as a start. And whalla - your DLL or .SO is created.

      You can use freepascal or delphi to make DLL's that run and are called in C++ applicatoins.

      And vice versa. One example is total commander, who can read your plug-ins in C++ DLL's or in Pascal DLL's.

      Example:

      //this is a exe or ELF executable
      program
      uses
      Units;
      var
      s:string;
      ...
      //code here
      end.

      //this is a DLL or SO library
      library
      uses
      Units;
      var s:string;
      ...
      //Code here
      end.

      All you have to do to get your library started is take a program and change it's program keyword to library.

  34. Shootout by Anonymous Coward · · Score: 1, Informative
    You can even compare them on the Great Computer Language Shootout... Hey, those last two links don't work properly. Sue me.
    1. Re:Shootout by Anonymous Coward · · Score: 0

      Eifel is written in C, freepascal is written in Pascal. Take your pick.

  35. Re:awww by gfody · · Score: 1

    Name one thing you can do in C++ that you can't do in Object Pascal.

    for(;P("\n").R-;P("|"))for(e=3DC;e-;P("_"+(*u++/ 8) %2))P("| "+(*u/4)%2);

    ...it's one of the top 10 reasons

    --

    bite my glorious golden ass.
  36. Why bother? by cruachan · · Score: 4, Interesting

    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.

    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 .net - so there's life in the product line yet.

    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.

    1. Re:Why bother? by Anonymous Coward · · Score: 3, Insightful

      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.

    2. Re:Why bother? by Anonymous Coward · · Score: 0

      Think of freepascal as Delphi that compiles for many taget platforms

    3. Re:Why bother? by Anonymous Coward · · Score: 0

      Looks like you, and a LOT of people posting here are not aware of the Lazarus project. Lazarus is an open source effort to provide the functionality of Delphi/Kylix IDE. It uses Free Pascal is its base. So there is plenty of reason for Free Pascal to exist. Lazarus is coming along nicely from what I have seen. You should try it out.

    4. Re:Why bother? by petermgreen · · Score: 2, Informative

      However all the advantages of Delphi do not apply to Free Pascal

      freepascal supports almost all of the language features of delphi and most of the nonvisual classes

      the visual bits are being cloned by a seperate project known as lazarus (its rather unpolished atm but its getting there).

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    5. Re:Why bother? by tau-lepton · · Score: 1

      64 bits, no CLR, will blow away any C# application written with managed code.

    6. Re:Why bother? by marcovje · · Score: 1


      Delphi2005 is dog slow, unstable, and only supports Windows.

      Moreover, you already gave a good reason, Delphi is becoming increasingly .NET oriented, and despite the marketing bla, a production app requires heavy porting to .NET.

      It's like saying who needs gcc if you have Microsoft VS ?

    7. Re:Why bother? by master_p · · Score: 1

      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.

      How is that possible, considering that Delphi does not have garbage collection?

    8. Re:Why bother? by petermgreen · · Score: 1

      delphi style object pascal has refcounted strings which basically let you treat strings like a primitive.

      It also has a concept of component owners which can save the need to manually free a lot of stuff in many cases.

      i can see how GC is easy to become addicted too but with some reasonable design care you don't really need it and it has issues of its own (like suddenly everything stopping because the GC wants to run)

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  37. Re:awww by petermgreen · · Score: 1

    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
  38. Re:awww by nickysn · · Score: 1

    Here's a generator for this kind of code: http://debian.fmi.uni-sofia.bg/~nickysn/randomc.cg i

  39. Education by jd · · Score: 5, Insightful
    Pascal is one of the best educational programming languages out there. C is much more powerful, but is also much more lax - you can get away with really lousy coding and it often works. Ada is too cumbersome to have any practical educational value. COBOL should be taken away from academics, along with any sharp objects.


    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 .NET and C# rush that is going on. If you learn .NET and C#, you're dead in the water when the next rush comes along. You need to know what lies behind the skills, the generic stuff, because you can transfer those skills any time you like. A good coder can always pick up new languages. I know something like 20. But if you're locked into a language, you've got to learn anything new from scratch. You've nothing to build in.

    --
    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)
    1. Re:Education by pete6677 · · Score: 1

      I agree with what you're saying, but unfortunately corporate recruiters do not. The kids that graduate from a "pure software engineering" CS program will get passed over for jobs by the MIS grads that have .net on their resumes. Sad but true. What is really needed for practical reasons is a mix between the two. Luckily most curriculums do not just teach a product like Java or C#, but the concepts behind it that would apply to other situations as well. As for the trade schools that only teach the current fads, you are correct in that their grads will become obsolete within a couple of years when those are no longer the latest and greatest things. In order to stay current, you must know how to learn new concepts on your own.

    2. Re:Education by Anonymous Coward · · Score: 0

      Pascal is one of the best educational programming languages out there.

      Totally, completely, 100% disagree. In my opinion, using Pascal to teach someone how to program is like using algebra to teach first-graders about math.

      One of the most difficult things about learning how to program is learning how to tell the computer, in excruciating detail, exactly what you want it to do. Remember "The computer does what you tell it to do, not what you want it to do"? Remember all those exercises where you had write out the steps to perform a common task, like tying your shoes?

      It's hard enough to get that far, and then Pascal expects you to deal with reals and integers and ranged variables and whatnot. Just give me a freakin' number, already.

      I know a lot of you will disagree with me, but I believe that, while it's nowhere near perfect, BASIC is a much better educational language. Maybe if it were structured with no line numbers, but no data types either, other than strings and numbers...

    3. Re: Education by Black+Parrot · · Score: 1


      > I know a lot of you will disagree with me, but I believe that, while it's nowhere near perfect, BASIC is a much better educational language. Maybe if it were structured with no line numbers, but no data types either, other than strings and numbers..

      I disagree with your opinion that Pascal isn't any good for learners. IMO the type rules are a good way to introduce beginners to the idea that you have to say what you mean and mean what you say when telling a computer what to do.

      However, IMO the real jewel for teaching is Scheme, at least for CS students. You can cover the essential syntax in one lecture, and jump right in to things like recursion on the second lecture of the semester. It lets you teach the students to think about algorithms and problem solving rather than "programming".

      Might not be good for self-teaching, though. For that I'd probably recommend Pascal.

      --
      Sheesh, evil *and* a jerk. -- Jade
    4. Re:Education by namekuseijin · · Score: 2, Informative

      "C is much more powerful,"

      sorry, how come? Pascal doesn't easily allow buffer overflows, have proper string handling, is truly lexically scoped ( with proper nested lexically scoped procedure declarations ), has a much more powerful and expressive type system, is a hell of a lot more readable than C and even allows, just as C, to get low-level with pointer arithmetic but somehow... C is much more powerful??!!

      i don't get it.

      if you said C was a little more concise thanks to the choice of {} rather than begin end block delimiter, than i'd agree with you on that...

      at least, here in Brazil, Delphi is the number one software tool, making Pascal ( ObjectPascal ) possibly the most popular language around. though java is coming close and there's also a lot of VB junk...

      --
      I don't feel like it...
    5. Re: Education by Anonymous Coward · · Score: 0

      IMO the type rules are a good way to introduce beginners to the idea that you have to say what you mean and mean what you say when telling a computer what to do.

      More unnecessary noise for a beginner, IMO. Like I said above, they're already knee-deep in "say what you mean" with algorithms.

    6. Re:Education by Anonymous Coward · · Score: 0
      Bah. Pascal has absolutely nothing (except for its anal retentive straight-jacket attitude, perhaps) over c# (or Java). It's sad to read all these slashdot folks talk as if C and Pascal were still the baseline (or even leading edge)... hello, 70s called and wants its programming languages back. It's not that they are bad -- they were decent for their time, and are simple enough to be elegant -- but time has passed them by. If you want to go completely retro, learn (common) Lisp; if you want to get back to future, go with Ruby (etc), if you want the best overall just-get-it-done language, use Java or C#.

      Oh, and as to it being good that it's not used much in industry, that's a somewhat valid point. But that's much better realized with, say, Scheme.

    7. Re:Education by Zonnald · · Score: 0

      Dare I suggest? It is not the language but the libraries that give "today's" languages the edge.

    8. Re: Education by chthon · · Score: 1

      'How To Design Programs' is a fantastic course on learning to program using Scheme. The way you are guided to think about solving a programming problem is fantastic. It can be applied to any programming language.

  40. Re:awww by Anonymous Coward · · Score: 0

    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...

  41. Standard reading by Hugonz · · Score: 2, Interesting
    I'm impressed it has not shown yet here, but it's standard reading:

    Whay Pascal is not my Favorite Programming Language by Brian Kernighan.

    1. Re:Standard reading by cahiha · · Score: 1

      Talk about the pot calling the kettle black. Pascal was a teaching language that accidentally found itself for production work. C was a language constrained by the limited memory of the platform its first compiler was developed for. Neither should really have caught on for general purpose programming...

    2. Re:Standard reading by petermgreen · · Score: 2, Informative

      read it and what it really says is that ISO PASCAL is a horrid language. I do not dispute this.

      however the recent borland like dialects of pascal are very different. Maybe the pascal name should have been dropped at some point (borland did pretty much drop it with later delphi versions). But we don't really have any better names that people would recognise and that don't have connections we don't want (the name delphi is strongly associated with the delphi ide)

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    3. Re:Standard reading by MacDaffy · · Score: 1

      Wish I had the points to mod you up. Pascal is designed to be understood; C was designed to be expedient. With the extensions added to Standard Pascal, there's very little you can do in C that you can't do in Pascal.

      Surf to Pascal Central, open the archives and look for the article entitled "The Pascal Programming Language" written by Bill Catambay for a discussion of "Why Pascal?"

      The release of Free Pascal is good news. If it catches on, it'll mean cleaner, more reliable code that's easier to maintain.

      I develop for Mac OS X and use Adrian Van Os's gpc plug-in for CodeWarrior. FreePascal is just one more tool for me to look into.

      C and C++ have caused more than their share of trouble. It's time to give Pascal another look.

    4. Re:Standard reading by Anonymous Coward · · Score: 0

      That's an archaic article written 24 years ago which has nothing to do with modern Pascal implementations. Syntactic ugliness aside, with modern Pascal you can easily define pointers to functions returning arrays of union-ed structures holding pointers to lists nodes holding structures of file descriptors cast to whatever the heck you are smoking while coding.
      And, yes, I used it for serious programming, though I'm still a C guy.

      A stretched description of modern Pascal could be "a butt-looking C with string types", but that's a different story.

    5. Re:Standard reading by eraserewind · · Score: 1

      So C was broken by accident, whereas Pascal was broken by design?

    6. Re:Standard reading by Anonymous Coward · · Score: 1, Informative

      Why C is not my Favorite Programming Language

      You were saying?

      (Point being that Brian Kernighan's criticism towards pascal is very, very dated in the piece you linked to)

    7. Re:Standard reading by Anonymous Coward · · Score: 0

      No it isn't. If anything was going to get another look it'd be Lisp or Smalltalk, not another broken algol.

    8. Re:Standard reading by Anonymous Coward · · Score: 0

      Both had their purpose. The purpose of neither language was to be the basis of software systems of the kind and complexity that we are building today.

    9. Re:Standard reading by Anonymous Coward · · Score: 0

      (Point being that Brian Kernighan's criticism towards pascal is very, very dated in the piece you linked to)

      On the contrary, by fixing the problems that Kernighan described Pascal implementors show that they agree with his criticisms.

    10. Re:Standard reading by Anonymous Coward · · Score: 0

      On the contrary, by fixing the problems that Kernighan described Pascal implementors show that they agree with his criticisms.

      Kernighan's criticism was true at the time he wrote it - I never said it wasn't. Indeed, I happen to agree with Brian that Pascal at the time wasn't very good. My point was that piece was dated (and that it doesn't hold true today with the extended versions of Pascal - the reason for the kuro5hin link).

    11. Re:Standard reading by Anonymous Coward · · Score: 0
      This is the same Brian Butthole who wrote the book " Software Tools in Pascal [amazon.com] by Kernighan and Plauger"

      He goes and writes a book on Pascal, which describes how to make good software programs in Pascal, while at the same time he writes a flamebait article knocking down Pascal.

      Brian K is an arrogant dictator bumbum who profits off of what he knocks down with cheapshots.

    12. Re:Standard reading by Anonymous Coward · · Score: 0
      Your URL does not work. It must have been on a server written in C.

      "Lysator's computer system have been the victim of an intrusion. As a result, most systems are down for reinstalling, securing and forensic investigations. A real web server will be up and running sometime in the not too distant future. The mail system is already up and running to the point of sending, receiving and storing mail. However, not all users are yet able to retreive their mail so don't be too surprised if mail to a Lysator user goes unanswered for a few days."

    13. Re:Standard reading by Hugonz · · Score: 1

      I'd be happy to switch to a good server written in Pascal, please point me to one...

  42. Why Not GCC by wsloand · · Score: 3, Interesting

    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.

    1. Re:Why Not GCC by Anonymous Coward · · Score: 0

      The Free Pascal devs doesn't want to abide to GCC development guidelines. IIRC.

      (I'm sure the other side's got another story)

    2. Re:Why Not GCC by justins · · Score: 1
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
    3. Re:Why Not GCC by marcovje · · Score: 2, Informative

      Some reasons, there are more:

      - The GCC architecture with its LALR parsers is not fit for pascal LL(1) parsing model
      - GCC has no support for autobuilding.
      - gcc is dog slow, pascal users used to Borland compilers don't accept that. (autobuilding and separate AS are main reasons for that)
      - Negotiating with commercially supported GCC teams as a small team is a hassle (can you imagine: please hold of the GCC 4 release, I want to commit some Pascal fixes)
      - gcc's build process has too many dependancies, and is very complicated.

      GNU Pascal tried this, I suggest you try GNU Pascal, and then FPC Pascal, and feel the difference (keeping in mind that GNU Pascal is 6-8 years older)

  43. Re:awww by exp(pi*sqrt(163)) · · Score: 1

    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.
  44. Pardon my semi-igonrance but... by bscott · · Score: 1

    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
    1. Re:Pardon my semi-igonrance but... by petermgreen · · Score: 1

      no it doesn't run under delphi as such it is a compiler in its own right.

      it can (in the appropriate mode) compile delphi like pascal code and it has much of the nonvisual parts of the delphi libraries availible (visual parts are being handled by the seperate lazarus project)

      there have been some experments with using freepascal with the zarus although arm functionality is kinda expermental right now (its not good enough to cycle the compiler on arm right now but you can cross compile a compiler for arm and use that compiler to make simple apps)

      if you wan't to see good arm support then you probablly wan't to donate a fast arm box to one of the developers. ;)

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    2. Re:Pardon my semi-igonrance but... by marcovje · · Score: 1

      The compiler itself works with Zaurus. (that's the armlinux port (OZ based)). However the lack of GDB debugging support for OZ is currently the showstopper for further development

      Several devels including me own Collies. (Zaurus sl5500g)

    3. Re:Pardon my semi-igonrance but... by marcovje · · Score: 1

      The compiler compiled itself on Z once.

    4. Re:Pardon my semi-igonrance but... by marcovje · · Score: 1

      Moreover, there is a plugin for FPC in Delphi. It is called CrossFPC, and from the same author as CrossKylix.

  45. Modula-3??? by Anonymous Coward · · Score: 0
    A nice language, but not nearly as fancy as Delphi. It was designed to be simple, with the language reference manual limited to be 50 pages.

    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.

  46. Wrong way by Mr.+Underbridge · · Score: 1
    I dunno. All the power of BASIC with the ease-of-use of C -- maybe it's designed to discourage people from becoming programmers.

    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.

    1. Re:Wrong way by petermgreen · · Score: 1

      heh range checking is an option in pascal and for most code i write it has to stay off ;)

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    2. Re:Wrong way by Anonymous Coward · · Score: 0

      "range checking is an option in pascal and for most code i write it has to stay off"

      Then there's something wrong with most code that you write. It's very rare that I have to turn range checking off when I use Pascal (actually, Delphi), and I have used it to write some fairly complex applications.

      Also, in English, most sentences begin with a capital letter.

    3. Re:Wrong way by petermgreen · · Score: 1

      well i should have been a little more precise. Range checking and array bounds checking are actually seperate options. This thread was about array bounds checking but i said range checking by mistake.

      range checking is a pita when trying to write emulation code or similar but otherwise shouldn't be too much of a big deal.

      as for array bounds checking, If i'm dealing with a fixed size array its not a huge amount of use anyway and if dealing with heap memory it just won't work since you basically have to give your array type a dummy size which will either always trigger bounds checking or never will.

      newer versions of the language have dynamic arrays but i don't tend to use theese as i want my code to compile with delphi 3 (i'd use delphi 2 if i could find my delphi 2 developer cd) to produce small binaries ;).

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    4. Re:Wrong way by L505 · · Score: 1

      You should try KOL for delphi. It takes a few months to learn the basics of how the OO programming works in KOL, but once you know it.. you can have a 25KB WordPad program and a 20KB notepad program. Compare that to Notepad exe which is about 60KB. Then with UPX you'll have a 15KB program. Couldn't say I've seen this done in C or C++, done visually with Object Oriented programming. Someone show us?

    5. Re:Wrong way by petermgreen · · Score: 1

      mmm apparently it supports freepascal too

      guess its win32 only though

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    6. Re:Wrong way by L505 · · Score: 1
      To get KOL working in freepascal you have to go through hell. There are no examples of it in use, and the instructions to get it working on KOL assume you have all the time in the world. That's something that needs to be worked on. I might get it working some time and provide for people...

      Examples of using KOL in FPC are needed, and proper installtion downloads for KOL with FPC are needed.

      For linux, I'm not sure what is out there to use for light pascal GUI development. I'm sticking to developing non-gui server/client stuff for linux right now, because in my opinion GTK applications currently look bad and hog up way too much screen space. No customization, everything feels fixed. Of course, this could be changed, and I may have just not experimented enough. It's just sad that the win32 version of lazarus looks better, operates better, and takes up less screen space than the GTK based GnuLinux Lazarus.

      There was a KOL for kylix, somebody said. If there is, we need some examples of it in use. Then the Kylix stuff could maybe be used in Lazarus some time, or FPC.

  47. 1st Language by dark+grep · · Score: 2, Funny

    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.

  48. Nice troll sir by Anonymous Coward · · Score: 1, Insightful

    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

    1. Re:Nice troll sir by connorbd · · Score: 1

      The inescapable truth of the matter is that the one thing that still applies from that paper is that extensions make everything messy. It's the same with Basic, only even more radically so -- everyone had their own dialect of Basic, but the Microsoft dialects gradually won out, and VB.NET has very little in common with ANSI Basic apart from a few things like unterminated lines and control structures.

      Basic is dead in any meaningful sense, and VB.NET is about as much like it as your great-great-great-grandparents are like you. Pascal hasn't diverged quite as much from its roots, but the early experience with Netscape and IE extensions shows that you don't have to do much to a standard to monkeywrench everything your users want to do.

    2. Re:Nice troll sir by Anonymous Coward · · Score: 0

      I have no idea what you mean, could you elaborte.

      Delphi is not kludge-like extensions bolted on to a language not designed for them, Delphi is one of the cleanest languages I've used. While certainly not perfect, every step away from Pascal that Delphi has taken seems to be one of good design. It's fantastic that FreePascal is an implemention of the Delphi language, and not just some academic langauge.

    3. Re:Nice troll sir by Teancum · · Score: 1

      The problem with VB.net is that the folks who did the extension to "BASIC" were not BASIC programmers. In almost every case I saw to the extensions of Visual Basic over things like GW-BASIC were things that made VB more like C++, and seemed to be coming from C++ programmers that were "tasked" into writing a BASIC compiler.

      I'm not going to belabor this issue, but the point is that had VB.net been written by Visual Basic users instead of the C# development team, it would have turned out quite a bit different.

      In regards to the extension to Pascal done under Delphi and the Turbo Pascal compilers (where many of the extensions first took place): These were done by Pascal programmers for Pascal programmers. Delphi has always self-compiling, and the core development team that put in these extensions had to put the extensions into the language by using them. And it tended to be extensions (like putting in strings as a base data type... definitely not part of ANSI Pascal) that were major irritants to what you were doing when you had to do any coding on a large project.

      On the positive side of how the extensions work, if you pull in some old Turbo Pascal programs and try to compile them using the core Delphi compiler, they usually will compile very cleanly without having to change anythings except a couple of compiler switches... and even most of those will still work. You can't take a Visual Basic 2.0 program and compile it on VB.net at all. Nor especially a Dartmouth BASIC program. Something like that is a totally different language and VB.net won't even compile a very simple program.

  49. Yeah, but, by Anonymous Coward · · Score: 0

    it's still Pascal

  50. The death of pascal by Anonymous Coward · · Score: 0

    Here's a blog entry i wrote about a year ago. It addresses specifically Freepascal's Lazarus project.

    1. Re:The death of pascal by Anonymous Coward · · Score: 0

      You should check out Lazarus now, It is quite usable at this point, both Linux and Windows versions.

    2. Re:The death of pascal by marcovje · · Score: 1


      That blog entry is a waste of perfectly good bits.

  51. Still used by Anonymous Coward · · Score: 0

    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.

    1. Re:Still used by marcovje · · Score: 1


      While FPC is not as old as GPC (an eighties GNU project), it still has a venerable age. It went 1.0 in 2000, which also made slashdot.

      FPC is way more workable than GPC

  52. Nobody is talking About Lazarus ? by Anonymous Coward · · Score: 0

    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 !

    1. Re:Nobody is talking About Lazarus ? by bolsh17 · · Score: 1

      Being an old Delphi fan, I tried out Lazarus. First impression; a _lot_ slower to compile. And that was always the big advantage of Delphi. It is still a puzzle to me that it's much slower to compile languages that use braces (consider Builder).

    2. Re:Nobody is talking About Lazarus ? by Anonymous Coward · · Score: 0

      Lazarus is slower to compile than delphi but is still pretty quick by my standards. But what you gain is quicker execution times of your programs. For example disk I/O looks to me like its at least twice as fast, and clearing a large list in a TListView component, which was a pain with Delphi/Kylix, is about 7 times faster! Not too shabby. Hey you might not even need a splash screen.

    3. Re:Nobody is talking About Lazarus ? by petermgreen · · Score: 1

      freepascal is far slower on win32 than on *nix. iirc this is mainly due to the mingw linker it uses.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    4. Re:Nobody is talking About Lazarus ? by Anonymous Coward · · Score: 0

      Try using one of the many available (free and commercial) memory managers for delphi, and you might get quite a different performance. The one shipping with Delphi VCL is comparativly poor.

  53. The Bible of Pascal by Anonymous Coward · · Score: 0

    has to be "Oh! Pascal!"

  54. I Wonder by certsoft · · Score: 1

    What version is required to get it to install a "fpc.cfg" file in the MAC OS X flavor :)

  55. Re: FREE pascal by Anonymous Coward · · Score: 0

    I'm glad to see a FREE pascal compiler available.

    Thanks, but I will wait for OpenPascal. Or NetPascal. Whichever comes out first.

  56. Re: Pascal considered harmful by apankrat · · Score: 1

    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
  57. Re:awww by secolactico · · Score: 1

    GAH! That green on black page nearly made my eyes bleed...

    --
    No sig
  58. Sometimes B&D is good ! by anti-NAT · · Score: 4, Informative

    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
    1. Re:Sometimes B&D is good ! by Anonymous Coward · · Score: 0

      >> 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.

      I call bollocks. This only works if you never, never, ever touch malloc() or free() in C. Which would render C useless. I think for things like malloc() and free() the reverse is true; sloppy memory handling should be punished _first_ before moving on to a object-oriented language.

  59. Here is a link to the BK article by anti-NAT · · Score: 1
    --
    The Internet's nature is peer to peer - 20050301_cs_profs.pdf
    1. Re:Here is a link to the BK article by Anonymous Coward · · Score: 2, Interesting

      Most of the issues raised in that article do not exist in Object Pascal/Delphi.

    2. Re:Here is a link to the BK article by Fahrenheit+450 · · Score: 2, Interesting
      --
      -30-
    3. Re:Here is a link to the BK article by Anonymous Coward · · Score: 0

      nor Freepascal. Was C perfect on the first shot when it was first created? Oh it must have been, Brian, Brian K, it must have been. You perfectionist, you.

  60. Why did pascal lose popularity? by Anonymous Coward · · Score: 0

    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.

  61. Re:awww by Anonymous Coward · · Score: 1, Insightful

    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++.

  62. In a former life by Karl+Cocknozzle · · Score: 1

    ...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?
  63. Hysterical Rasins by DragonHawk · · Score: 4, Informative

    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. :-)

    "...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 .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.

    "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.
    1. Re:Hysterical Rasins by 00lmz · · Score: 1

      Actually, in Turbo Pascal, units do use BEGIN. From the Turbo Pascal online docs:

      Initialization part:
      The initialization part is the last part of a unit. It consists of either
      - the reserved word end (no initialization code), or
      - a statement part to be executed in order to initialize the unit

      You would use it like:

      unit foo;
      interface
      { ... }
      implementation
      { ... }
      begin
      { initialization code }
      end.

      Delphi uses INITIALIZATION instead of BEGIN to indicate the unit's initialization part.

      Delphi also allows a unit to have a FINALIZATION section which is executed when the main program terminates. Only units with an initialization section can have a finalization section.

    2. Re:Hysterical Rasins by petermgreen · · Score: 1

      i'm pretty damn sure that delphi will let you use begin for unit initialization code

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  64. Teaching vs. Industrial Use by lifeblender · · Score: 5, Interesting
    Hell yeah. I learned the same languages in that order when I was in grade school and high school.

    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!
    1. Re:Teaching vs. Industrial Use by LilGuy · · Score: 1

      We learned Basic in high school, though I had already dabbled in it when I was 12. We moved on to VB then. In college we took basically the same VB course as was offered in high school, and then moved to c++. C++ was hilarious. These people who came from the VB class expecting more easy BS, were blown away. I think quite a few people changed majors after the first month. Lucky for me (again) I had already been messing with c/c++ since i was 14, so there wasn't much to it.

      Then I dropped out of college.

      --

      You're nothing; like me.
    2. Re:Teaching vs. Industrial Use by Anonymous Coward · · Score: 0

      I think, Delphi has the best GUI, uncomparable to Swing or MFC. So Pascal is my favourite *client* development language. I like C++ most, followed by Smalltalk, Pascal, Haskell, Assembly and Prolog.

    3. Re:Teaching vs. Industrial Use by BigYawn · · Score: 0
      How many times have I heard somebody predicting the death of C/C++?

      The truth is that in 10 years time, some people will still be predicting the end of C/C++. And while they will be arguing which of the dead Java or the past Delphi was the best language, a huge amount of programmers will still be programming using C/C++ for environments requiring lightweight and efficient applications.

      Java was supposed to kill C++ and it's funny to think now about the hype that surrounded these debates. In the background, Sun was savouring what seemed like a sweet victory.

      Yet, here we are many years later. I'm trying to think about 1 good, lightweight and responsive Java application. I'm trying very hard...

    4. Re:Teaching vs. Industrial Use by barrkel · · Score: 2, Insightful

      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.

    5. Re:Teaching vs. Industrial Use by marcovje · · Score: 1

      > Pascal: a dead language. Why the hell are people still using it?

      Funny, I was just going to say that about Haskell. Something that never got out of the academic world.

      However Pascal has Delphi, a major development tool that is still sells relatively big today. What does Haskell have to compare to that?

    6. Re:Teaching vs. Industrial Use by master_p · · Score: 1, Informative

      A wonderful language to learn with

      Why was it a wonderful language for educational purposes? the most important aspect of programming is to learn how to structure ideas into code, and BASIC was not about that. BASIC was an abomination of programming languages, responsible for many wrong programming attitudes.

      Why the hell are people still using it?

      Because it is beautifully structured and fairly disciplined, without the risks of C but also without the virtualization of Java or 'next generation' programming languages.

      Since it was DESIGNED as an educational language, NOT as an industrial language, it was great to learn with.

      What do you mean? Pascal was THE industrial language at the age of DOS/Windows 3.1. Thousands of commercial applications were written with it (especially the Borland variant). The reason it was chosen as an educational language was because of its success in the industry, much like Java today.

      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++).

      Most obviously you've never programmed seriously in those languages. C and C++ are two entirely different programming languages, and C++ is not a superset of C. First of all, C is needed for lowlevel programming. It will never go away. Secondly, C++ is the greatest programming language ever, if you use it properly. With its generic programming through templates and operator overloading, it can even be used as a functional programming language (check out Boost if you don't believe me).

      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.

      What do you mean "it blows C++ out of the water"? have you tried C++ with boost and/or Qt? it blows Java away big time, both in programming effort and performance. You are obviously ignorant of what goes on in the real world.

      Haskell kicked my ass. Want to know why? Because I already 'knew' how to program.

      So you are one of those impressed by functional programming languages, eh? let me tell you something: functional programming languages suck big time. They are just hyped by those that invented them, but they are not useful for anything practical. They are good as a general scripting environment for bridging together libraries written in C/C++/Java, but they are not good for anything else:

      • All functional programming languages use the available C APIs. No functional programming language has a primary toolkit programmed in itself, as in Java (for example). Checkout O'caml, for example, that its toolkits are 90% similar to those in C!
      • Functional programming, i.e. programming without assignments can not be used for anything serious. A database can't be sorted with the functional quicksort, simply because functional programming copies values around, instead of updating them.
      • No matter what you've heard, closures, strict types and continuations are not properties of functional programming only. Those exist in lots of imperative languages, too. And for all practical reasons, closures are nothing more than C/C++ callbacks.
      • It is a myth that with functional programming languages, you just write it once and it works. It works if the expressions you have written are correct. If you mistakenly type in '+' instead of '-', your algorithm is wrong. Using the lambda calculus proves nothing, expect that the result is always the same for a specific set of values.
      • Functional programming languages have syntax that goes against human intuition. For example, Haskell uses the symbol '++' for 'or', and O'caml uses the symbol '#' for 'membership', whereas
    7. Re:Teaching vs. Industrial Use by Anonymous Coward · · Score: 0

      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.



      Overseas, Pascal served the role that C/C++ has served here. Perhaps because it made more impact at European unis than in the States. Delphi is Visual Basic with a better language; in other words, it is crack cocaine for code monkeys. I've used Delphi; it teaches bad habits, and since Delphi 6 at least Borland has had problems with bugs and incompatibilities between version. The current version of the Delphi IDE gives the option of either C# or Object Pascal; most wise people will use C#.



      Incidentally, Python is much more like LISP than BASIC, in my opinion. As for your Haskell tutorial, I'll check it out. If programmers would learn languages like Haskell, Ocaml or Erlang, they would understand how much more productive you can be once you aren't stuck in the FORTRAN/ALGOL way of doing things.

    8. Re:Teaching vs. Industrial Use by chthon · · Score: 1

      What do you mean? Pascal was THE industrial language at the age of DOS/Windows 3.1. Thousands of commercial applications were written with it (especially the Borland variant). The reason it was chosen as an educational language was because of its success in the industry, much like Java today.

      Pascal was created in 1969 by Niklaus Wirth as a language to teach people programming.

      Turbo Pascal was created somewhere in the second half of the seventies for CP/M.

      It's take off in the eighties has much to do with the IBM PC platform which was successful in business settings.

      So Pascal only made an impact roughly 10 years after its inception.

      I once did a small project (~2000 lines) in Pascal (a kind of curses front-end to a database on a Digital Ultrix system), and when I had finished, my feelings where utterly that Pascal was created to teach programming, because in the real Pascal specification, there are things that are obstacles for industrial programming. The teacher said I was correct.

      Also the way (standard) Pascal handles working with files, is clearly something that is derived from the IBM platform on which it was developed. In standard Pascal, you can not give a filename. This assignment from file to filename is done on the JCL card that is used to run the compiled Pascal program.

      Turbo-Pascal alleviated a lot of the problems that standard Pascal has. And Niklaus Wirth also moved on by creating Modula, Modula-2 and Oberon as better successors to his original Pascal.

    9. Re:Teaching vs. Industrial Use by master_p · · Score: 1

      So Pascal only made an impact roughly 10 years after its inception.

      So? C++ also made an impact 15 years after its inception; Java made an impact 12 years after its inception (invented around '92), and LISP made an impact after 40 years after its inception. That does not mean anything, really.

      in the real Pascal specification, there are things that are obstacles for industrial programming.

      What is that? There is nothing in Pascal that is an obstacle for industrial programming. It is just as capable as C, with a few more restrictions, and a little more verbose than C.

      Turbo-Pascal alleviated a lot of the problems that standard Pascal has.

      Pascal is Turbo-Pascal. By saying "Pascal is bad" you give all Pascal derivatives a bad name, where is it is the Standard Pascal which is the problem. Turbo Pascal, Modula, Oberon and Delphi/Kylix are all fine languages. There is no 'standard' Pascal out there any more.

      It's like saying 'Java is bad', since Java 1.0 was pretty much useless. Well, things have changed so much from its first version, that it is now a top-class programming language.

    10. Re:Teaching vs. Industrial Use by Anonymous Coward · · Score: 0

      Uh. Actually Pascal has been used quite a lot in the safety-critical industry where using C (or C++ for that matter) is not allowed / recommended.

      The problem with Pascal has been the lack of a language standard with wide enough coverage. This lead to rather severe fragmentation of the language, resulting in many incompatible Pascal dialects.

    11. Re:Teaching vs. Industrial Use by JebusIsLord · · Score: 1

      What goes on in the real world? Are you serious? How much proper OO code exists out there in C++, in use by industry? C++ is a joke. Not that you can't write good code if you choose a sane subset of its features, but few do that, instead writing glorified C using C++ syntax. QT is an excellent example, though - I agree.

      --
      Jeremy
    12. Re:Teaching vs. Industrial Use by Anonymous Coward · · Score: 0

      There is nothing in Pascal that is an obstacle for industrial programming.

      You are making one of two possible mistakes. Firstly, you may be conflating STANDARD PASCAL (invented by Wirth, fixed as ISO 7185:1990) with extended, amended, advanced languages that are based on Standard Pascal but are not Standard Pascal.

      Secondly, you may genuinely believe that Standard Pascal is useful for industrial software engineering. You would be wrong.

      Standard Pascal is absolutely fixed as ISO 7185:1990. Prior to 1990, it was absolutely fixed as the Wirth book. You cannot deviate from this and call the result "Standard Pascal", because it isn't.

      Standard Pascal has no dynamic memory allocation. This absolutely kills it for industrial work. It also requires the entire source of the program to be in the same listing - there are no external libraries. There are many other problems (no prototypes, no strings over 255 chars, no OOP) but these two are the killers.

      Perhaps you now understand why there are so many extended versions of Pascal in existance. It's a good language that is utterly crippled in its standard form.

      Your Java comparison is misleading - Java's language definition was originally by Sun, and was extended by Sun. Pascal's language definition was by Wirth, and he stubbornly refused to change any of it - all the extensions were done by other people, not the creator of the language. Thus, they're not standard Pascal.

      Look, just take a telling, will you?

    13. Re:Teaching vs. Industrial Use by master_p · · Score: 1

      C++ is a joke because people don't use it properly? or the people that don't use it properly are a joke?
      if people don't make an effort to use a tool as it is supposed to, then why is the tool blamed? it is like blaming a gun for killing people.

    14. Re:Teaching vs. Industrial Use by JebusIsLord · · Score: 1

      Well this might be an ideological thing. For me, don't add a feature unless it is necessary. Why does C++ allow you to do point math? Why does it allow you to look at index -1 of an array?

      When they added generics to java 1.5, i asked "why", but a lot of people were asking "why not", i guess. C++ is a huge mishmash of "why not"s.

      --
      Jeremy
    15. Re:Teaching vs. Industrial Use by Goodbyte · · Score: 1

      Haskell (or any functional language) has definately a place in programmer's toolboxes. Why? lots of features like c++ templates or function overloading originates from functional languages.

      I used to think I knew c++, I knew all the extra work needed when introducing exceptions into a program and I used templates to create genetic containers. Then I learned Haskell, and realized what c++ templates really could be used for, or why C++'s type system is inadequate for some problems. You are not a "Real Programmer (TM)" unless you know at least one functional language, even if you don't use them on a day-to-day basis.

    16. Re:Teaching vs. Industrial Use by Anonymous Coward · · Score: 0

      Haskell *sucks*. I don't get the current fascination with it at all, and I'm not speaking as someone who has no experience with it. That it is so hostile to I/O alone (monads? blow me!) is a serious indictment of its utility for teaching.

    17. Re:Teaching vs. Industrial Use by lifeblender · · Score: 1

      Actually, I have implemented a compiler from scratch. It compiled Pascal (original), and I wrote it in Haskell. Worked beautifully, too, and so fast. Spat out code that run on the linux machine I was using. People sometimes talk about functional languages being slow, but Haskell is as fast as C++ when both are well written, if not faster.

      I do like subrange types. Now that you mention them, I kind of miss them in Haskell. I'm not sure if you're saying that Delphi would make a good industrial or educational language. I guess it would be both, as long as the basics of imperative programming (i.e. variables, values, parameter passing, functions) could be learned without getting into the OO part. That's what was(is) wrong with teaching using Java.

      Delphi's wondeful threads don't hurt Java's thread capabilities. Both of them together look askance at C++'s threads.

      I totally agree that a Real Programmer should learn a fair amount of languages, especially those in different categories. I guess I'll have to learn Prolog now.

      If you really get into Haskell, you don't leave it. Kind of like LISP, I guess. There were a few 'closet' LISP-lover professors at UT. They assigned projects in C++, but what they really wanted to talk about was LISP, and one of them accepted projects in either language.

      Using Haskell over most other languages makes sense, once you understand 'foldr', the 'folding' function. I do not write 'for' loops in Haskell, or 'while' loops or any other kind of loop. In Haskell, three levels of 'loops' can be written in 120 characters over two lines and be well-styled code.

      The beautiful thing is, GHC (the major compiler for Haskell) is so good, that it turns the nice flowery list manipulations into tight assembly language loops directly, at least on four or five of the big architectures. That's x86 *NIX, x86 Win*, Sparc, a Mac arch or two, I think. I could be wrong.

      --
      Playing pornographics games during the day is evil! Play at night!
    18. Re:Teaching vs. Industrial Use by lifeblender · · Score: 1

      foldr

      That's all it needs. My code is ten times shorter, so I'll worry about a development tool when Notepad can't hold my entire Pascal compiler in one file.

      Actually, I'm just playing around. There isn't a major development tool for Haskell, just like there isn't one for Python. On the other hand, Haskell's type system goes a long way towards making big projects manageable, even without a dev toolkit. I suppose I'll need something serious once we write something big, but since code really is ten times shorter in Haskell than in C++, that's not going to happen for a long time.

      --
      Playing pornographics games during the day is evil! Play at night!
    19. Re:Teaching vs. Industrial Use by Anonymous Coward · · Score: 0
      "I totally agree that a Real Programmer should learn a fair amount of languages, especially those in different categories. I guess I'll have to learn Prolog now."

      Jack of all trades, master of none.

    20. Re:Teaching vs. Industrial Use by Anonymous Coward · · Score: 0

      I'll use notepad to do all my serious development work. I'll use perl when I want shortform. Actually, maybe I'll use neither.

    21. Re:Teaching vs. Industrial Use by lifeblender · · Score: 1

      Yeah, but I just got paid for working in a language I didn't know until I took the job. Twice. So shove off. Come back when you've written your own monad and programmed in an assembly language in the same day.

      --
      Playing pornographics games during the day is evil! Play at night!
    22. Re:Teaching vs. Industrial Use by master_p · · Score: 1

      For me, don't add a feature unless it is necessary.

      I agree:

      Why does C++ allow you to do point math?

      I suppose you mean pointer arithmetic. Well, it is needed because it allows fast access to complicated arrays, which is, in turn, is needed when low-level programming is required. And low-level programming is needed quite a lot in embedded systems, in military applications, in real-time systems etc. Basically, pointer arithmetic is a portable way of using register tricks for faster access: instead of using a non-portable specific register, a pointer variable is used instead. A compiler can turn that into a register access. The Intel compiler does that with great success, producing code that is up to 70% faster than GCC or other compilers.

      Why does it allow you to look at index -1 of an array?

      Why not? in message-based applications (like defense apps), an array's size is usually stored at index -1 from the array.

      When they added generics to java 1.5, i asked "why", but a lot of people were asking "why not", i guess.

      C++ templates is the best feature of C++. It allows maximum code re-use with maximum efficiency. STL algorithms are valid for all collections, even though internal implementations are abstracted with iterators, and the compiler can still do optimal optimization on them.

      Java Generics simplify the language, avoiding the problem of casts from collections and making sure no object of undesired class is inserted into a collection, but the type information is lost as they wrap everything into an Object-derived instance, thus loosing the advantages of C++ optimization.

      C++ is a huge mishmash of "why not"s.

      It's obvious that you are ignorant of the true power of C++. You want array bounds checking? that's fine, you should use a class or a class' methods that does bounds checking. You don't want to do pointer math? fine, don't do it. C++ is fine with that.

      The problem with guys like you is that you have a problem of discipline. You want discipline to be forced by the language, instead of yourself. Well, that will never work: all languages can be abused.

    23. Re:Teaching vs. Industrial Use by theapodan · · Score: 1

      I think that in Haskell "++" signifies the concatenation of lists. Not a logical "OR". I think Haskell is neat and has applications in the "real world." Take a look at "WASH" for web scripting, for example. http://www.informatik.uni-freiburg.de/~thiemann/ha skell/WASH/

  65. My thoughts on Pascal by DragonHawk · · Score: 2, Interesting

    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.
  66. Apples and oranges by killjoe · · Score: 1

    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
    1. Re:Apples and oranges by F1re · · Score: 1

      Yes, but you can add lazarus to freepascal and get something similar to delphi.

      --
      ...there is no sig...
  67. BASIC without line numbers by jd · · Score: 1

    ...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)
    1. Re:BASIC without line numbers by Anonymous Coward · · Score: 0

      ...is called Fortran.

      Not really. Again, as a beginner, I shouldn't have to worry about types, nor should I need to declare them in advance. Just gimme a number and let me use it. And don't even get me started on those FORMAT statements... :-)

  68. Survival of Pascal by gunix · · Score: 1

    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
    1. Re:Survival of Pascal by Anonymous Coward · · Score: 0
  69. Bruised self esteem by dtfinch · · Score: 1

    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.

    1. Re:Bruised self esteem by Teancum · · Score: 1

      This tends to be a problem with the Free Pascal crowd (and other "works in progress" groups of complex Free Software).

      I've been guilty of having this as a problem myself.

      In this case, the core development community has been doing incremental building all along with the compiler updates as they happen, and the new source code releases don't have all of the files.

      The real way to test this is to do a "clean build" of the sources on a freshly reformatted machine. Unfortunately that is not always easy or possible to do (I prefer to do a test rebuild for release purposes on a virtual machine like Bochs or VMware).

    2. Re:Bruised self esteem by petermgreen · · Score: 1

      i've never had a problem buliding and installing freepascal and lazarus on linux

      i think compiling everything from source on win32 is quite a bit trickier though and its also much slower so it tends to get tested less.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  70. Makefiles or No Makefiles? by AdamWeeden · · Score: 1

    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...
    1. Re:Makefiles or No Makefiles? by marcovje · · Score: 1


      The project itself uses makefiles to stitch libraries together, and as a kind of scripting to propagate all kind of build environments.

      Normal build processes are autobuilding. Just fpc . Even in the custom compiler bootstrap, the compiler compiles itself in one go

    2. Re:Makefiles or No Makefiles? by Vo0k · · Score: 1

      I'm not expert, but I guess makefiles are optional.

      --
      Anagram("United States of America") == "Dine out, taste a Mac, fries"
    3. Re:Makefiles or No Makefiles? by marcovje · · Score: 1


      That should read: Just

      fpc file

      however the brackest were interpreted as html probably ;)

    4. Re:Makefiles or No Makefiles? by petermgreen · · Score: 1

      you don't need makefiles for normal pascal apps due to the units system but you sure as hell do need them to build something as complex as the rtl with the correct options etc.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  71. Re: Pascal considered harmful by Anonymous Coward · · Score: 0

    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.

  72. It's probably way too obvious but by Anonymous Coward · · Score: 0
    Java pretty much obsoleted Pascal. Not that it would be the only thing superior to Pascal (and C, C++ for that matter) -- c# is decent, and more robust scripting languages (like Ruby) are obviously superior as well.

    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.

  73. Oops. by Anonymous Coward · · Score: 0
    Here it is in actual Python:
    for y in range(height):
    for x in range(width):
    do_stuff_at(x, y)
  74. Crap. by Anonymous Coward · · Score: 0

    "experiences" and "complicated".

  75. .NET by Anonymous Coward · · Score: 1, Interesting


    I think their .NET angle is interesting:

    http://www.freepascal.org/faq.html#dotnet

  76. := beats = by hey · · Score: 2

    The Pascal assignment operator :=
    sure beats C's = any day of the week!

    1. Re::= beats = by russellh · · Score: 1

      The Pascal assignment operator :=
      sure beats C's = any day of the week!


      if assignment is your thing, baby ;-)

      --
      must... stay... awake...
    2. Re::= beats = by Teancum · · Score: 1

      The thing that I like about the := operator is that it makes source code rather clear that it is an assignment operator as opposed to a comparison operator.

      C requires the == (double equal) operator for variable comparisons as a result.

      The #1 issue that I have when switching from C-like languages and Pascal is that I have to "relearn" what the assignment operator is when going back and forth. That usually takes me about an hour, but is almost always caught in the parsers anyway so it is no big deal. And a trivial bug to fix when I do switch the operators by mistake.

      The same applies to the operator as opposed to the != operator. The switch is a headache to remember when you just want to churn out code.

  77. Re:awww by GroovBird · · Score: 1

    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

  78. Hey.. I can write LINUX programs now :-) by Anonymous Coward · · Score: 0

    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!

  79. Free Pascal 2? by Anonymous Coward · · Score: 0

    Thanks, but no. I'd rather see "Free Willy 3" - orcas are far more cool than French people.

  80. Not worth the effort by oldCoder · · Score: 0, Troll
    The computing community would have been better off if the developers of Free Pascal had built something more original and worked on a "Killer App" or two.

    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
    1. Re:Not worth the effort by marcovje · · Score: 2, Interesting

      Or maybe they didn't use Windows.

      (which is in fact true to some extend)

      This sounds like a why bother with gcc, just use VS argument.

      Moreover look at the state of Linux, where is the Open Source RAD ? IMHO Lazarus is still the closest contestant.

    2. Re:Not worth the effort by AaronLawrence · · Score: 2, Interesting

      Rather: porting the great Delphi environment to other languages. You know, copying the best of Windows to Linux? That kinda thing.

      --
      For every expert, there is an equal and opposite expert. - Arthur C. Clarke
    3. Re:Not worth the effort by Halo1 · · Score: 1
      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?

      The original author (Florian Klaempfl) started working on it because he wanted a 32 bit Dos Turbo Pascal compiler, and it was clear Borland was not going to write it. I started hacking on the assembler optimizer because I liked diddling with assembler code and programming in Pascal. Later I did a large part of the port to PowerPC and finished the Mac OS X port, because I like to program on my Mac as well.

      It's just a hobby project for all of us, not something we feel we have to do to change the world or so. Your statement that "the computing community would be better off" if we had put efforts into something else is strange. It assumes that we would have actually made another huge project like this. Additionally, many people do consider it quite useful (otherwise we wouldn't have 20+GB downloads per day I guess).

      --
      Donate free food here
    4. Re:Not worth the effort by AaronLawrence · · Score: 1

      Doh! I mean "other platforms".

      --
      For every expert, there is an equal and opposite expert. - Arthur C. Clarke
    5. Re:Not worth the effort by Reziac · · Score: 1

      One of the ancient DOS apps I can't live without was written in Pascal (I do have its source, tho I'm not a coder myself). If for no other reason, I was happy to see Free Pascal come along, and am pleased that it continues to be developed. It never hurts to have more options available!

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    6. Re:Not worth the effort by marcovje · · Score: 1


      Actually that will be hard (and I say that as FPC developer).

      The Delphi language - runtime system has a small set of extensions that are only half portable. (e.g. a full fledged Linux can do or emulate it), mainly to get the designtime system so flexible

      While it is practically doable to implement this into any imperative languages, with languages that have strong standard adherence, it will be really hard to get this past the standard folk.

    7. Re:Not worth the effort by marcovje · · Score: 1


      Oeps, missed that correction. Sorry!

  81. Blows C++ out of the water?? by crucini · · Score: 1
    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.

    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.)
    1. Re:Blows C++ out of the water?? by marcovje · · Score: 1


      The threading-in-language is only threadvar. Not to different from most C++ compiler extensions.

      Note that is roughly the same as gcc TLS, it is a normal compiler feature.

      I think Delphi is an ideal language, except I really would like to have generics. The ways to construct complex somewhat typesafe datastructures from that is nice. ( I think more in an ADA way than a C++ way though).

    2. Re:Blows C++ out of the water?? by 00lmz · · Score: 1
      Exceptions - C++ has them.
      Yes, but not many libraries are "exception safe" because exceptions are a rather new addition to C++. Java has had exceptions since day 1.
      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.)
      Because the C++ standard assumes that you are only using one thread, and the C++ standard is not just the language syntax, but also the libraries as well, iostreams, string, STL... The standard does not specify how these standard libraries should function when using multiple threads. Java on the other hand was designed with multithreading in mind and has synchronization primitives built into the core language.
    3. Re:Blows C++ out of the water?? by crucini · · Score: 1

      I see your point about exceptions. But as for the C++ spec not requiring thread-safeness - what level of thread-safeness does java provide? Does it automagically lock container classes? If so, couldn't this be an unnecessary performance impediment in some cases - for example when an operation is defined to affect two containers, or the same container twice, and the C++ programmer might use one lock over the entire operation?

    4. Re:Blows C++ out of the water?? by 00lmz · · Score: 1
      Some (old) collections are threadsafe, e.g. Vector, Hashtable while the newer collections in the Java Collections Framework are not synchronized because synchronization is a performance impediment in most (single-threaded) cases.

      While the newer collections are not synchronized, you can turn a collection into a synchronized collection easily using java.util.Collections.synchronizedXXX()

      OK, so I picked the wrong example. Java's containers mostly aren't threadsafe, but at least they tell you in the docs how it will behave when using multiple threads (which is usually something like "Note that this implementation is not synchronized. If multiple threads access a list concurrently, and at least one of the threads modifies the list structurally, it must be synchronized externally."). But the threading support in Java is still very nice, especially with the new java.util.concurrent package in Java 1.5.

  82. Re:5 years too late... by Anonymous Coward · · Score: 0

    Open your mouth again and I'll defecate in it.

  83. Bloodshed Devcpp by Anonymous Coward · · Score: 0

    Bloodshed Devcpp is written in Pascal.

    1. Re:Bloodshed Devcpp by Anonymous Coward · · Score: 0

      Bloodshed Devcpp is written in Pascal.

      And CodeBlocks is written in C++.

  84. I'll wait until its cancelled by Analogy+Man · · Score: 1
    seperate project known as lazarus, which has not yet reached 1.0 but should do so fairly soon

    ...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.
  85. Where is Free JOVIAL? by Killer+Instinct · · Score: 1

    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;
  86. Its about time. by MrCopilot · · Score: 1
    I kept telling him hang in there man your lawyer will get you off.

    Keep the Faith.

    --
    OSGGFG - Open Source Gamers Guide to Free Games
  87. Even for non-CS types by jhw3 · · Score: 1

    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.

  88. Re:awww by exp(pi*sqrt(163)) · · Score: 1

    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.
  89. Actually... by sleepingsquirrel · · Score: 1
    Functional programming languages have syntax that goes against human intuition. For example, Haskell uses the symbol '++' for 'or'
    Actually, '++' in Haskell is for concatenation. If you want a binary boolean 'or', it's spelled '||' (like C)...
    if (a==5 || c==42) then foo else bar
    Alternatively you can use the (Scheme like) 'or' function, which takes a list of booleans and return true if any of them is true...
    if (or [a==5, c==42, baz<blah]) then foo else bar
  90. woo - a worthwhile IT syllabus by matt+me · · Score: 1

    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.

  91. Why not just use Ada? by Anonymous Coward · · Score: 0

    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.

    1. Re:Why not just use Ada? by Anonymous Coward · · Score: 0

      Ada does multi-tasking? Your kidding.. I still use Dos! Who needs multi-tasking.

  92. Re:awww by Anonymous Coward · · Score: 0

    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.

  93. JRT Pascal by trailerparkcassanova · · Score: 1

    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.

  94. And the winner is... by krischik · · Score: 1

    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

  95. Re:awww by exp(pi*sqrt(163)) · · Score: 1

    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.
  96. Oh! Pascal by Anonymous Coward · · Score: 0
    Yeah, I remember it confused the class because of using the word "she" like this:
    If the programmer does not consider ...=snip=.... memory requirements at an early stage she may have to do many unnecssary rewrites.


    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
  97. Bum Bum by Anonymous Coward · · Score: 0

    Brian is a Bum Bum.

  98. Haskell Blows by Anonymous Coward · · Score: 0

    no text

  99. Blows little warm smelly bubbles out of the water? by Anonymous Coward · · Score: 0

    Blows little warm smelly bubbles out of the water in the bathtub making loud noises in the house.

  100. I call BS. Post your URL by Anonymous Coward · · Score: 0

    Please post the URL to this compiler and where we can download it. Thanks.

    1. Re:I call BS. Post your URL by lifeblender · · Score: 1

      For ethics reasons, I can't just put it online. It was a project for class, and I'm sure my professor is still assigning it. However, I'm also sure that if you look up my professor and ask him if anyone ever wrote a Pascal compiler in Haskell, he will happily tell you about me. It's really his decision whether or not to release it. I consider it a simple programming exercise, really. It was just something I did for class. Mind you, we didn't implement all of the language. I think we left out enumerated types and subtypes, and some other stuff. I'm pretty sure we did Arrays, but I can't remember. It's been a really long time.

      Here's his webpage:
      http://www.cs.utexas.edu/~novak/

      I don't really consider it a big deal to write a compiler for the very first version of Pascal. It's not that tricky, especially when you're taking a Compilers class at the time with a good professor. It was a little interesting getting the circular type references handled in the right way, but after that everything pretty much fell into place. If you absolutely need a working compiler for Pascal in Haskell, I'll try and finish it.

      Oh, and of COURSE there wasn't any optimisation. I'm no compiler writer.

      --
      Playing pornographics games during the day is evil! Play at night!
  101. Re:sticky fingers on your... by Anonymous Coward · · Score: 0

    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.

  102. Can do... by Lonewolf666 · · Score: 1

    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
  103. thanks guys by petermgreen · · Score: 1

    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
  104. NIGGER nigger NIGGER nigger NIGGER nigger NIGGER n by Anonymous Coward · · Score: 0

    NIGGER nigger NIGGER nigger NIGGER nigger NIGGER n

  105. It is not the language but the libraries ... by AHumbleOpinion · · Score: 1

    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.