Slashdot Mirror


Free Pascal 2.2 Has Been Released

Daniel Mantione writes "Free Pascal 2.2 has been released. Several new platforms are supported, like the Mac OS X on Intel platform, the Game Boy Advance, Windows CE and 64-Windows. Free Pascal is now the first and only free software compiler that targets 64-bit Windows. These advancements were made possible by Free Pascal's internal assembler and linker allowing support for platforms not supported by the GNU binutils. The advancement in internal assembling and linking also allow faster compilation times and smaller executables, increasing the programmer comfort. Other new features are stabs debug support, many new code optimizations, resourcestring smart-linking and more."

284 comments

  1. Mixed Reaction.... by chefmonkey · · Score: 4, Funny

    Half of me is saying "cool!"

    The other half is looking very confused and asking "why?"

    1. Re:Mixed Reaction.... by TheRaven64 · · Score: 4, Interesting

      The other half is looking very confused and asking "why?" The last time I played with Free Pascal was as an undergraduate, doing coursework that was meant to be done in Delphi. At the time, Free Pascal supported all of the features of Delphi required to complete the assignment. I wonder how much orphaned legacy Delphi code there is out there looking for a support route.
      --
      I am TheRaven on Soylent News
    2. Re:Mixed Reaction.... by larry+bagina · · Score: 1

      Our shop has a bunch of legacy pascal programs (don't ask). A couple years ago, we needed to integrate them with some new libraries, which would have meant rewriting/porting to C. Instead, we recompiled with Free Pascal. We needed to make a couple changes to the compiler, but it was a lot less work than rewriting.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    3. Re:Mixed Reaction.... by Dunbal · · Score: 4, Funny

      I wonder how much orphaned legacy Delphi code there is out there looking for a support route.

            OMG, powerful alliteration and anthropomorphism. Here I am with a visual image of a young code snippet out in the winter cold, begging people for a couple pence for a "cuppa tea".

      --
      Seven puppies were harmed during the making of this post.
    4. Re:Mixed Reaction.... by maxume · · Score: 5, Informative

      You're mixed up on what alliteration is.

      --
      Nerd rage is the funniest rage.
    5. Re:Mixed Reaction.... by arth1 · · Score: 5, Funny

      Half of me is saying "cool!"

      The other half is looking very confused and asking "why?"

      I'm also feeling rather blaise about it...
    6. Re:Mixed Reaction.... by treeves · · Score: 1

      ugh, bad pun. What's the probability of that on Slashdot?

      --
      ...the future crusty old bastards are already drinking the Kool-Aid.
    7. Re:Mixed Reaction.... by Anonymous Coward · · Score: 1, Funny

      I'm glad they released him. Pascal was clearly innocent, and the victim of unconstitutional entrapment.

    8. Re:Mixed Reaction.... by Anonymous Coward · · Score: 5, Funny

      Who are you calling alliterate?

      You probly can't even read good either.

    9. Re:Mixed Reaction.... by fm6 · · Score: 4, Interesting

      The "support route" requires more than. a compiler. It requires developers who know both the technology and culture, which are drastically different from those of any other language. Not bad, just different. Which is why Turbo/Delphi/Object/Free Pascal has always been fiercely opposed by management (which doesn't care for nonstandard technology) and fiercely defended by developers (who love its tiny compile cycle and elegant features).

      The suits will win in the end, because they're breeding faster. There's not a lot of incentive to become a Pascal expert, because it's perceived as a fringe language. (To some extent, that's a self-fulfilling prophecy, but that doesn't make it any less true.) So there will be fewer and fewer developers who insist on working in Pascal, and always the same number of managers who insist on switching to a "standard" language.

      So Pascal is doomed. Yes, they've been saying that for a long time, because it's been true for a long time. Religions don't die quickly.

      Personal note: I used to work for Borland and was responsible for documenting a big chunk of the Delphi API. Fell in love with the language during those years. Driven out by the sheer insanity of Borland management. Now I can't bear to work in the language — too depressing.

    10. Re:Mixed Reaction.... by Anonymous Coward · · Score: 1, Insightful

      Drastically? Hardly. Pascal isn't much different to C or Fortran or Ada. You want a drastically different culture? Try Lisp or Forth or Haskell.

    11. Re:Mixed Reaction.... by Anonymous Coward · · Score: 1, Informative

      I wonder how much orphaned legacy Delphi code there is out there looking for a support route.

      Little to none. Delphi is still actively supported despite its continued lack of popularity.

      - T

    12. Re:Mixed Reaction.... by morgan_greywolf · · Score: 2, Interesting

      Your post is right on the money, but maybe I'm biased. While my first language was interpreted BASIC, my first compiled procuedural language was ... Turbo Pascal 3.02a. It was also my first OOP language, or, more correctly, Turbo Pascal 5.5 was. I yearn for the days of that Borland compiler ... it was FAST, and it generated small, highly-optimized executables -- well before anyone else did.

      I've used Free Pascal for the odd project here or there, but, well, sadly, these days I find myself mostly using C and Python. Don't get me wrong -- I like C, and I especially like gcc, and Python -- well, Python reminds me of the old days, in many ways, even though it's different. But Free Pascal will never pay the bills.

    13. Re:Mixed Reaction.... by Anonymous Coward · · Score: 0

      ugh, bad pun. What's the probability of that on Slashdot?
      They say a bad pun is its own reword...

    14. Re:Mixed Reaction.... by fm6 · · Score: 4, Interesting

      it was FAST
      First bug report for Kylix (Linux version of Delphi): testers claimed the "compile" command wasn't doing anything. What they didn't understand was that their test programs were finishing compilation before they had a chance to release the mouse button!

      Thing is with Pascal: it's designed to be very easy to compile. (So CS students could use it for their first stab at writing a compiler; this was before grammar generators made hand-built compilers obsolete.) So compiling only takes one pass, and even that pass executes quickly. Very handy when you're working with an IDE....

      Ach. Getting depressed again.
    15. Re:Mixed Reaction.... by alico · · Score: 2, Insightful

      Pascal is the new COBOL and it's going to be around for a while. I've used the language for 20 years and really like it but I like to keep a balanced diet with other languages like C/C++ and C#.

    16. Re:Mixed Reaction.... by Anonymous Coward · · Score: 0

      Nothing's doomed... I've written decent stuff with it over time that's received some note in publication online & in written form, also in commercially sold apps written in Delphi as well & it's not "doomed"...

      Delphi's quite capable, still, of interacting with the OS (even Linux though Kylix support's dropped @ Borland, bad move imo), via most any if not ALL communications protocols to get out into the net, or internally into things like OS Services, API's, or going 'outward again', using middlewares (RDO, DAO, ADO, OLEDB, RPC, ADO.NET, OO40, etc. et al), & into Back end local db/Small departmental Access DB's type stuff upwards of 20-30 users scenarios on a small LAN, & going clear up to multiuser systems + connectivity to larger scale setups for industrial database engine uses via sockets/ip + middlewares (it connects to them all, via ADO in its last 32-bit standalone .exe generator in Delphi 7.x, & .NET into 8 & beyond).

      It's far from dead...

      Hey, it's still QUITE useable! Myself, I don't call that doomed or dead.

      I like Delphi 2-7, the "old-school single .exe design Win32PE stuff", because it's faster, but you can do DLL's & OCX too if need be as well & more (services, oleservers/classic dlls, activex/ocx, screensavers, control panel programs etc. et al, except drivers, natively/by itself though toolkits exist).

      I dont touch Borland Delphi 8-> for the .NET stuff (though oddly? They had .NET working practically via Delphi to it, before MS even did, which is probably WHY Anders Heijelsberg (sp?) got hired by MS!). I don't see it on the job, point-blank.

      However, no questions asked but I've gotta ask it, because I like Delphi the most - Is it the most used? No!

      BUT, imo, it should be because it's multiplatform & produces BLAZINGLY FAST APPS, for both Linux &/or Win32... that does it for me.

      It's just for the fact/for example, that it knocked the snot out of BOTH MSVC++ 5.x, & MSVB 5.0, & Java, on 7-10 tests iirc, & especially in strings & math, which EVERY PROGRAM DOES MIND YOU, by HUGE margins no less (2-5x etc.) in of all places, "Visual Basic Programmer's Journal" Oct. 1997 entitled "Inside the VB5 Compiler" issue.

      It's a fact it was amazingly EASY to write stuff, even larger stuff, by comparison to other tools like C++ (I do like C++ Builder a lot though in versions 3-6) in that did cool things that folks liked, it got me paid, & everyone was happy type stuff, lol, which is absolutely fine by me.

      APK

      P.S.=> That language is the BEST of both VB & VC++, producing higher speed standalone executables than anything MS really put out that was as simple to build in, & if you errtrapped right? Was untouchable.

      Bill Gates even knew it, because he hired away Anders H. from Borland... that tell you anything?

      E.G.-> Visual Studio being as cool & capable as it is, is one of that person's accomplishments there... Mr. Gates is getting his ROI, good investment, but...

      I still like Delphi the best, though I use the other tools I mention more on the job, still! apk

    17. Re:Mixed Reaction.... by tcopeland · · Score: 1

      > I wonder how much orphaned legacy Delphi code
      > there is out there looking for a support route.

      Here's an option - a Java to Delphi converter (in the second paragraph).

    18. Re:Mixed Reaction.... by autophile · · Score: 1

      I'm also feeling rather blaise about it...

      We should believe in supporting 2.2... because there's no downside.

      --Rob

      --
      Towards the Singularity.
    19. Re:Mixed Reaction.... by fm6 · · Score: 1

      Uh, dude, Pascal, C, Fortran, and Ada are very different languages. Borland's Pascal is the only one of these with delegates and built in OOP support. C is the only one with type-aware pointers. Fortran is a relic of the 50s. And Ada is a world onto itself.

      They may be more like each other than Lisp, Forth, or Haskell (they're all basically procedural for one thing) but they're still very different and have very different programmer cultures. That's why only one language on your list (C) is still widely used.

    20. Re:Mixed Reaction.... by stoolpigeon · · Score: 1

      those must have been the testers who actually got kylix to work. i never could, and i don't think i was alone. kylix died before it ever got out of the gate.

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    21. Re:Mixed Reaction.... by RichardKaufmann · · Score: 2, Interesting

      Pascal was defined after grammar generators (e.g. yacc) were around. Pascal was fun to compile because one could write a recursive descent parser for it straight off the "railroad diagrams" used to define the language. In fact, the ETH "P2" compiler (written by Urs Ammann) was such a compiler, and was the start of many other compilers. If I remember correctly, LL(1) is a proper subset of recursive-descent-able. Most everyone else uses LALR(1), which is not.

      You probably should have said "easier and faster to parse" rather than say "takes one pass." It's mostly human-in-the-loop and optimization issues that make compilers slow (especially on modern hardware). Decomposed problems are easier problems to solve, and common intermediate languages (across a variety of languages) help leverage the human investment across multiple compilers. Also, "back in the day" things like caches were oh-so-new, and optimization requirements were laughably simplistic.

    22. Re:Mixed Reaction.... by Anonymous Coward · · Score: 0

      "The last time I played with Free Pascal was as an undergraduate"

      What? 20 years ago!!!

    23. Re:Mixed Reaction.... by Nazlfrag · · Score: 5, Funny

      Assuming alliterations are always apparent admits absence of afterthought. Learn that linguistics leverage lost lines, lest ye languish. Parent poster presumably postulated the Pascal premise presuppositionally. Defined, 'I wonder how much orphaned legacy Delphi code there is out there looking for a support route.' distinctly diverges to 'Does destitute Delphi data desire duplicate development designs?'

    24. Re:Mixed Reaction.... by EraserMouseMan · · Score: 1

      If a company is using software based on Pascal it is obvious that they have zero willingness to change for one reason or another. So what would motivate them to change to a different compiler?

      And oh, if they are already using a for-profit Pascal compiler, they've already payed for it. If they haven't payed for it then they are getting good pirated copies and don't intend to pay for it anyway. And if they are starting a new project they will not be choosing Pascal to write it in (even if they can get a free compiler for it).

    25. Re:Mixed Reaction.... by Micah · · Score: 1

      Huh. It worked fine for me on the platforms it supported (Red Hat 7 or 8 I think). Later when I tried to run it under Gentoo it failed miserably.

      That's about when I decided: Closed source compilers: Never Again!!!

    26. Re:Mixed Reaction.... by fm6 · · Score: 1

      Well, it worked for me. And for our QA people. And for the testers. And most of the customers, judging from the feedback we got. Care to share what you mean by "couldn't get it to work"?

      Of course, it really was a doomed product. Not because it didn't work, but because there was no demand for desktop Linux apps, and thus no demand for a Linux IDE.

    27. Re:Mixed Reaction.... by lostguru · · Score: 1

      holy shit

      --
      Jayne: "These are stone killers, little man. They ain't cuddly like me."
      98% of America's teens drink alcohol, smok
    28. Re:Mixed Reaction.... by Goldberg's+Pants · · Score: 1

      Free Pascal! (With every packet of Corn Flakes. One inside every box.)

    29. Re:Mixed Reaction.... by sg_oneill · · Score: 3, Interesting

      It was doomed, because Borland completely and dramatically misunderstood Linux. We ALL (Well the delphi heads) *WANTED* kylix, and we all collectively where sporting boners when told it 'did' GPL.

      What we instead got was a buggy product that appeared to have alot of winelib in it (what the heck was that font thing?), and more to the point, it treated the GPL as if it was shareware. If one got the 'open source' version, which wasn't actually open source, we could make 'gpl' programs only, but by GPL, it meant "Well your program is GPL, but we are going to force a splash screen on your program that says its gpl and suggest updating to the full version." That was insulting as hell, and completely wrote it all off as an option for us.

      Borlands problem is the attentiveness it paid the low-end and hobbyist market in the turbo days was completely blown out the window by the time it moved to Kylix. Hobbyists, students and small business MUST be paid attention to, or how the hells a kid supposed to learn your platform. Linux still has a large hobbyist contingent motoring it along, and in fact proved that hobbyist gift culture could power industry and commerce too.

      What was really hard, was Delphi coders understood open source well. We loved sites like torry.ru that had huge collections of awesome open source librarys we could mash into our stuff to make our work days easier. In return we often packaged up our own little inventions and put them out there for other coders to use. Thats why we where so excited about kylix. What a let down.

      Now of course we are being enticed back in with the 'turbo explorers' ('Hey kids! Its free!').

      Except one cant install open source libraries by design. Way to piss on the Fanbase Borland!. Its a shame too. I was looking forward to returning to Delphi after all those years. Us hobbyists are still out in the cold.

      I just hope people put some support into finally getting Lazarus and Free Pascal 'finished'. Its 95% there, and when that happens, we can finally tell the boss to cancel that Borland subscription, because coders *hate* being taken for granted.

      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
    30. Re:Mixed Reaction.... by Weedlekin · · Score: 1

      "Borland's Pascal is the only one of these with delegates and built in OOP support."

      It is far from being the only, or indeed the first one with built in OOP support. Apple were the pioneers here with Clascal for the Lisa, which they developed into Object Pascal in consultation with Niklaus Wirth. The language was used to write MacApp, Apple's OO application framework for the Macintosh, which shipped with Object Pascal in 1986 as part of the Macinstosh Programmer's Workbench; Borland's Mac Turbo Pascal included a similar but less elegant set of OO extensions that were subsequently added to their DOS compiler in 1989. This old (1985) article in MacTech discusses Object Pascal:

      http://www.mactech.com/articles/mactech/Vol.02/02.12/ObjectPascal/

      --
      I'm not going to change your sheets again, Mr. Hastings.
    31. Re:Mixed Reaction.... by Anonymous Coward · · Score: 0
    32. Re:Mixed Reaction.... by gabriel.dain · · Score: 1

      Assuming alliterations are always apparent admits absence of afterthought. Actually, alliteration appertains to consonants alone. Alternatively, the aforementioned abstract is an archetypal assonance
    33. Re:Mixed Reaction.... by Psychoactivist · · Score: 0

      Alliteration refers to the first sound in the word. It can be a vowel or a consonant. Assonance refers to words that have the same vowel sound. Fought the rot is an example of assonance. Inverted integers has both alliteration and assonance. Job jumped at the Gym is still alliteration because the sounds are the same. Anyway, enough of that.

    34. Re:Mixed Reaction.... by stoolpigeon · · Score: 1

      I was running whatever the latest redhat desktop product was at the time it came out. I could install it - start it - but it could not run a single example program without crashing. I couldn't get simple projects I tried out myself to run without it crashing on a regular basis. I would have stuck with it, but Borland gave up even faster than I did.
       
      And I've just got to say taht from what I saw there was a lot of excitement and hope for this thing to go well. A better VB for linux. When I mention Kylix to my friend who does a lot of Delphi work he just shakes his head. His Delphi program I have to use for work is the primary reason I own a windows machine.

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    35. Re:Mixed Reaction.... by zoward · · Score: 1

      Thank you for the inside look at this. I still have fond memories of hammering out code in Turbo Pascal - I have yet to find a usable language as simple, elegant, and fun to code in.

      --
      "Can't you see that everyone is buying station wagons?"
    36. Re:Mixed Reaction.... by gabriel.dain · · Score: 1
    37. Re:Mixed Reaction.... by RangerElf · · Score: 1

      Fatality! :-D

      -gca

    38. Re:Mixed Reaction.... by Anonymous Coward · · Score: 0

      Turbo Pascal was my first real programming language i learnt, and i would like to thank it very much as it helped me learn PL/SQL in no time, which currently i use each day...

    39. Re:Mixed Reaction.... by TheRaven64 · · Score: 1

      If a company is using software based on Pascal it is obvious that they have zero willingness to change for one reason or another. So what would motivate them to change to a different compiler? Possibly the fact that their old compiler targeted Windows 3.1 or even DOS, and they're starting to find it hard to buy new machines that will run these systems. They could possibly run them in something like DOSBox, but that adds another potential point of failure. If a new system can compile their code for a new operating system, this will extend its life.
      --
      I am TheRaven on Soylent News
    40. Re:Mixed Reaction.... by fm6 · · Score: 1

      It is far from being the only, or indeed the first one with built in OOP support.
      That's not what I said, dimwit. Read the sentence you quoted from my post again.
    41. Re:Mixed Reaction.... by fm6 · · Score: 2, Insightful

      A better VB for linux.
      This was a marketing ploy that always bothered me. I was the only one at Borland who actually had serious VB experience, and the notion that skills in that environment were transferable to Object Pascal was absurd.

      I couldn't get simple projects I tried out myself to run without it crashing on a regular basis. I would have stuck with it, but Borland gave up even faster than I did.
      Your experience was different from mine. I'm very curious what was different about your system, but I don't suppose there's any way of figuring it out.

      I don't think Borland gave up all the quickly. We went through three full development cycles, and even did a C++ version. The product didn't so much end early as start late. The 1.0 release was many months behind schedule, mainly because Borland's developers just didn't believe in schedules.
    42. Re:Mixed Reaction.... by Anonymous Coward · · Score: 0

      "Nigger nigger nigger."

      -- Kermit the Frog, 'Sesame Street', 1987

    43. Re:Mixed Reaction.... by penguinstorm · · Score: 1

      Because tonight we're going to party like it's 1989!

      Party over. Whoops. Out of RAM.

      --
      Skot Nelson music is my saviour / i was maimed by rock and roll
    44. Re:Mixed Reaction.... by marcovje · · Score: 1


      Good point. The release manifest indeed doesn't mention that Free Pascal also supports Mac like Object Pascal.

    45. Re:Mixed Reaction.... by marcovje · · Score: 1


      However, somehow despite all parser theory and -engine progress, nobody still seems to be able to produce a C++ compiler with non cryptic errormessages :-)

    46. Re:Mixed Reaction.... by marcovje · · Score: 1

      Well, Delphi pays my bills, and occasionally I commercially sidestep with FPC.

      I actually make money with GCC too. But only with a commercially supported one by some microprocessor vendor.

      However Python? Please! Hobbyism.

    47. Re:Mixed Reaction.... by Weedlekin · · Score: 1

      I believe it also has partial support for Metrowerks Pascal.

      --
      I'm not going to change your sheets again, Mr. Hastings.
    48. Re:Mixed Reaction.... by marcovje · · Score: 1

      > If a company is using software based on Pascal it is obvious that they have zero willingness to change for one reason or another. So what would motivate them to change to a different compiler?

      Read the bloody manifest. Multi platform support obviously

    49. Re:Mixed Reaction.... by Weedlekin · · Score: 1

      ""That's not what I said, dimwit. Read the sentence you quoted from my post again."

      it's still cretinous blather, because MacApp used delegation to dispatch events to Pascal objects, which could in turn pass them to other Pascal objects (these were known as "target chains"). It goes without saying that this wouldn't have been possible if the language didn't support it.

      --
      I'm not going to change your sheets again, Mr. Hastings.
    50. Re:Mixed Reaction.... by fm6 · · Score: 1

      Jeez, learn to read. That's your second "response" to something I didn't say.

    51. Re:Mixed Reaction.... by Weedlekin · · Score: 1

      "Jeez, learn to read. That's your second "response" to something I didn't say."

      You claimed that Borland Pascal was the only member of a list which _included Pascal and Ada_ that had delegates and OOP "built in". Apple Mac Pascal was clearly Pascal, and had delegates and OOP; the ISO Ada 1995 standard included OOP, which was sufficiently long ago for Ada to be commonly described as an object-oriented language. It supports delegation.

      --
      I'm not going to change your sheets again, Mr. Hastings.
    52. Re:Mixed Reaction.... by fm6 · · Score: 1

      OK, you're not an idiot, you're just reading out of context. The subthread started when I stated that VB skills weren't transferrable to Borland Pascal because the languages and their programming culture were very different. Someone said, no, Pascal, C, Fortran, and Ada are very similar. I responded with examples that differentiated each language, and mentioned delegates and OOP in connection with Borland Pascal. There was no suggestion that Borland was first or only with delegates and OOP in Pascal; I don't know about delegates, but I've used two other Pascal dialects that had objects.

      No wait a minute. (Looks over thread.) First you debunked my "claim" that Borland Pascal was the only Pascal with objects. (Didn't say that.) Then you debunked my "claim" that Apple Pascal didn't do objects. (Didn't say that either.) There might be something to your third accusation, but it's a little stupid to jump through so many logical hoops just to avoid admitting that you misread my original post.

      Sorry, you are an idiot after all.

    53. Re:Mixed Reaction.... by Weedlekin · · Score: 1

      "The subthread started when I stated that VB skills weren't transferrable to Borland Pascal because the languages and their programming culture were very different."

      I didn't see the original post you were replying to. It could possibly be due to the way my filters are set up.

      "There was no suggestion that Borland was first or only with delegates and OOP in Pascal; I don't know about delegates, but I've used two other Pascal dialects that had objects."

      I suggest you read your own post in isolation from the viewpoint of somebody who didn't see what you were replying to. It looks very much like you were claiming that Borland Pascal was the only Pascal with delegates and OOP built into it.

      "I don't know about delegates, but I've used two other Pascal dialects that had objects"

      Delegation isn't restricted to OOP, but is a general programming concept that passes the responsibility for implementing certain pieces of functionality to code that is supplied from outside at a later stage (i.e. without modifying the original code). An excellent example of procedural delegation is the "callbacks" commonly used in C libraries and APIs to implement application-specific functionality in generic routines by passing them a pointer to a function, e.g. the standard library's "qsort". This practice can justifiably be described as polymorphism, and C is far from being the only non-OO language to support it (the far more ancient LISP was doing this sort of thing nearly half a century ago).

      The big deal that the Delphi community made about delegation was not therefore due to the fact that it wasn't present in a whole bunch of other languages that ran the gamut of paradigms, models, and philosophies, but because VB didn't have it (at least without using COM / Active X) prior to VB.NET, so it was a bullet point in Delphi's favour on their "why VB sucks" list.

      "Sorry, you are an idiot after all."

      It's something I've learned to live with, so there's no need to be sorry.

      --
      I'm not going to change your sheets again, Mr. Hastings.
    54. Re:Mixed Reaction.... by matija · · Score: 1

      You probly can't even read good either.
      You probly can't do no good reading too. (there. Fixed that for ya).

      --
      Duct tape + WD40 => DevOps
    55. Re:Mixed Reaction.... by fm6 · · Score: 1

      Bored now.

    56. Re:Mixed Reaction.... by Anonymous Coward · · Score: 0

      Google's "define" searches do not distinguish authoritative sources from crappy high-school handouts. The fact that so many of the sources returned by your search contain caveats like "usually consonants", while many others do not mention any such restriction, should be sufficient to prove that there are multiple definitions, of which "consonants only" is only one, and not even necessarily that of the majority of authorities.

    57. Re:Mixed Reaction.... by Haeleth · · Score: 1

      this was before grammar generators made hand-built compilers obsolete
      If hand-written parsers are obsolete, why did gcc get so much better a while back after its old yacc-generated C++ parser was replaced with a new one written by hand?

      Humans can still do far better than machines, particularly for languages like C++ with complex, context-dependent grammars. We aren't quite obsolete yet. :)
    58. Re:Mixed Reaction.... by Anonymous Coward · · Score: 0

      Fought the rot is an example of assonance.

      Maybe where you live. Where I live, "fought" is pronounced "fawt" and "rot" is pronounced "raht". No assonance there. Better examples would be "Fought, caught." and "Ah, rot.".

      And maybe "Assonance, shmassonance!". Or maybe not.

    59. Re:Mixed Reaction.... by Anonymous Coward · · Score: 0

      I've also read that alliteration is just for consonants. And at the beginning of words, no less. Unfortunately, assonance is only for shared vowel *sounds* in the middles of non-rhyming words, like "more store wars" or "by fighting quite widely". Similarly, consonance is repeated consonant sounds in the middles of words.

  2. Pascal is so '80s by toddbu · · Score: 1, Informative

    I learned Pascal in the 1980's when I was in college. Haven't used it since. I never did like the strict type checking or the whacky for loops that had to run at least once. FORTRAN and then C/C++ have served me pretty well over the years, although I write a lot of PHP, bash, and some C# now.

    --
    If you don't want crime to pay, let the government run it.
    1. Re:Pascal is so '80s by Secret+Rabbit · · Score: 2, Insightful

      Just because you don't use it, doesn't mean it isn't used. For instance, I knew someone that used Pascal in industry as an Engineer. Can't remember exactly what kind of Engineer though (it's been about 6 years). But, even if it wasn't used in industry at all, these developments would still be *very* useful as it is quite useful as a learning language.

      Basically, please remember that there are lands beyond your horizon. Just because you can't see them doesn't mean that they don't exist nor does it mean that they aren't important.

    2. Re:Pascal is so '80s by sconeu · · Score: 1

      I once wrote a AN/UYK-20 assembly to pseudocode generator in Pascal. This was done on a TOPS-20 system, and I didn't have access to shells/scripting or C, so I wrote it in Pascal.

      Ugh.

      --
      General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
    3. Re:Pascal is so '80s by FooBarWidget · · Score: 1

      I have written a commercial application in Delphi (Object Pascal) that's still being sold today.
      Yeah, original Pascal is 80s. Modern Pascal (read: Object Pascal) is not, although it is 90s - it has good support for OO, but Delphi only recently added support for generics/templates.

    4. Re:Pascal is so '80s by glwtta · · Score: 1

      Basically, please remember that there are lands beyond your horizon.

      So you are saying that there was one person that used it six years ago?

      And why would you want a "learning language" that you will never use again? Niche languages that are good at specific tasks (Fortran, etc) are one thing, but Pascal is just an outdated procedural language - the only thing keeping it going at this point is nostalgia.

      --
      sic transit gloria mundi
    5. Re:Pascal is so '80s by Anonymous Coward · · Score: 0

      You kind of made his point for him, though. The best example you can come up with of someone using Pascal is an engineer you sort of knew six years ago, which frankly isn't very good evidence for these amazing lands beyond the horizon.

    6. Re:Pascal is so '80s by hercubus · · Score: 1

      For instance, I knew someone that used Pascal in industry as an Engineer
      early 90s, Thiokol engineers (you know, rocket scientists), PDP-11s and then, fullfilling my wetest dreams, my very own VAX. everything coded in DEC's very nice PASCAL

      sweet

      and that came with old school tech support. i found a bug in the compiler and they were going to have a tech fly out with the tape for a patched version of the compiler

      those were the days my friend, we thought they'd never end...

      --
      -- How I want a drink, alcoholic of course, after the heavy lectures involving quantum mechanics.
    7. Re:Pascal is so '80s by dmbasso · · Score: 1

      Can't remember exactly what kind of Engineer though (it's been about 6 years).

      It's of the retired kind... :-)

      --
      `echo $[0x853204FA81]|tr 0-9 ionbsdeaml`@gmail.com
    8. Re:Pascal is so '80s by pedantic+bore · · Score: 1

      ... as it is quite useful as a learning language.

      Actually, it's fairly well known to suck as a learning language.

      Or at least some people think so.

      --
      Am I part of the core demographic for Swedish Fish?
    9. Re:Pascal is so '80s by General+Lee's+Peking · · Score: 1

      A do-while loop in C and C++ must run at least once so that's not necessarily an unusual thing to have in a programming language. In pascal, if you don't want a loop to always execute at least once, then don't make it a for loop, make it a while loop. Unlike in C, a for loop in pascal isn't just a special case of a while loop. I guess that's why they're different languages. Like Steve Martin complained about the people of France not speaking English, ``it's like they have a different word for everything''.

      As for the strict type checking, I don't know what kind of C++ compiler you use, but when I use a modern C++ compiler like a recent gcc, it's even picky about the friggin' ``void*'' type---the ``void*'' type, for cryin' out loud. It's not the compiler's fault, that's just how C++ is defined nowadays with respect to types. And you're complaining about pascal's strict type checking while saying how well C++ has served you? That's a real head scratcher to me.

    10. Re:Pascal is so '80s by crivens · · Score: 1

      Well said. I maintain a system running OpenVMS Pascal, with code that is 20+ years old. Some people aren't aware that older, legacy languages are still being used for various reasons.

    11. Re:Pascal is so '80s by ChrisA90278 · · Score: 1

      So 1980's? It was not new then. My copy of Wirth's "Pascal User manual and report" was printed in 1975. Pascalhad been out for about a year at that point. Pascal in the 80's was about as new a Java is today. At mid life I'd say.

    12. Re:Pascal is so '80s by kybred · · Score: 1

      I once wrote a AN/UYK-20 assembly to pseudocode generator in Pascal.

      I wrote a reverse assembler in Pascal for a Computer Automation mini (don't remember the model). It's been so long since I used Pascal, I'm not sure I'd know where to BEGIN :-).

    13. Re:Pascal is so '80s by calidoscope · · Score: 1

      I remember one of my fellow dormies getting into Pascal ca 1974 or so - running on a CDC-6400 (BTW, the same computer that SPICE was developed on)- and he was quite fond of it. He was later exposed to "An abomination in the eyes of the Lord" from some outfit in New Jersay, making comments that if Bell Labs hadn't invented the transistor, the phone company would still be using vacuum tubes.

      --
      A Shadeless room is a brighter room.
    14. Re:Pascal is so '80s by Tony+Hoyle · · Score: 1

      The thing that killed me about pascal at college wasn't that you had to write it upside down (it was a single pass compiler so no forward references) but the complete lack of support for variable length strings. That made even writing simple applications a tortuous mess of counting spaces to get anything to compile (and made for the most non user-friendly apps in existence 'please type a 16 character string with your name in it. Do not deviate from 16 characters otherwise the app will crash'.).

      I never went back to it even when things like turbopascal came out (which presumably had fixed some of the major shortcomings of the language). It might even be quite nice to use now, but can't imagine spending the time to re-learn it.

    15. Re:Pascal is so '80s by DrXym · · Score: 1
      I learnt programming in Modula-2. It was the most horrific experience of my life. Partly I suppose it was because I was new to programming, but partly because it was such a verbose language with case sensitive keywords and BEGIN and END around virtually everything and even assignments were express with a := sign. It drove me nuts to have errors because of typos in all the verbiage. I found C much more liberating simply because it was more compact.

      I think at the end of the day that it is a good idea to train beginners on something other than Java, C# or C. I wouldn't choose Pascal (or Modula-2), but maybe something like Python would be a good idea.

    16. Re:Pascal is so '80s by Mikkeles · · Score: 1

      Heck, we're still writing software for the AN/UYK-10 (UNIVAC 1832) and AN/UYK-7 computers, although in assembly and CMS.

      --
      Great minds think alike; fools seldom differ.
    17. Re:Pascal is so '80s by TheRaven64 · · Score: 2, Informative

      Strings were also what made me hate Pascal. Delphi included support for two kinds of string, C strings and Pascal strings. C strings were NULL-terminated, Pascal strings had one byte at the start indicating their length. In principle, this isn't a problem, but a lot of API functions took C strings, but the documentation said they took Pascal strings. They would then iterate over the length of the string, and keep going well beyond the end because they never found a terminating NULL byte. The program would then crash. If you were running in the debugger, it would point to the end of the procedure that contained the error, not the line with the error, making it very hard to track down problems.

      --
      I am TheRaven on Soylent News
    18. Re:Pascal is so '80s by sconeu · · Score: 1

      Yeah, I believe it.

      Some idiot had specified that the pseudocode was a deliverable, so there was a frantic reverse engineering effort.

      If I recall correctly, I generated a 6 foot tall stack of listings, with pseudocode of the quality:

      "Set Register 1 to the contents of Register 2"

      Of course, I did do some analysis to generate better if statements, and I did incorporate source comments as pseudocode comments.

      The customer was very happy with a 6 foot tall stack.

      --
      General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
    19. Re:Pascal is so '80s by ChrisA90278 · · Score: 1

      Yes, the CDC6400. I was a system programmer working on that machine. We'd do some local custom mods to the OS and merge then with what CDC released. The OS was Open Source. CDC releaed surce code that would have to be compiled. I spent many nights at the Console. Was a real privlage to have a 12 million dollar machine all to yourself even if it was 3:00am. We had a copy of Wirth's compiler on the 6400. That's how I was exposed to Pascal. I was still in school at the time. I was a CS major. All the other students had to make do with some old slow shared "junk" in a crowded lab and were using punched card or a teletype termial but I had, in 1975 a huge graphic console with a full screen text editor and what was then one of the powerful machines in the world. My home computer had something like 8Kb RAM and a paper tape reader.

    20. Re:Pascal is so '80s by Anonymous Coward · · Score: 1, Informative

      Well yes. Here in Europe, nearly every engineer that graduated before 2000 had a pascal course. Did numeric math in TP probably.

      It is somewhat laughable to see the people in this discussion rave on about the language of the day (C++/C#/Python/perl/Ruby/Brainf*ck). The real pascal killer was neither. It was Mathlab and Mathematica

    21. Re:Pascal is so '80s by Not+The+Real+Me · · Score: 1

      "...And why would you want a "learning language" that you will never use again?..."

      Delphi (Borland's Object Pascal) is really good if you are writing COM plugins for M$ products. The Delphi plugin will compile into s single DLL with a very tiny footprint whereas the M$ Visual Studio equivalents require a number of redistributable runtime libraries (think: DLL hell) and/or the installation of one of the .NET frameworks.

    22. Re:Pascal is so '80s by Halo1 · · Score: 1

      Strings were also what made me hate Pascal. Delphi included support for two kinds of string, C strings and Pascal strings. C strings were NULL-terminated, Pascal strings had one byte at the start indicating their length. In principle, this isn't a problem, but a lot of API functions took C strings, but the documentation said they took Pascal strings. They would then iterate over the length of the string, and keep going well beyond the end because they never found a terminating NULL byte. The program would then crash.
      I don't understand how this could happen. If you'd try to pass a shortstring (a UCSD Pascal string) to a routine declared as taking a pchar (= pointer to a char = C string), you'd get a type check error at compile time.
      --
      Donate free food here
    23. Re:Pascal is so '80s by TheRaven64 · · Score: 1

      It confused me somewhat, since I was under the impression that the Pascal compiler did strict type checking. I can only assume Delphi (version 3, as I recall) did some implicit casting with the aim of making it easier to deal with both types of string. Converting the strings to pchars manually made the problem go away, but it took me two days to track this down due to the incredible uselessness of the debugger. I avoided using Pascal after that module; it just wasn't worth the effort.

      --
      I am TheRaven on Soylent News
    24. Re:Pascal is so '80s by sky_khan72 · · Score: 1

      It was not a fair comparison in 1981, and it's insanely ridiculous in 2007 counting this paper as a proof of pascal is toy language.
      It's still not convenient writing C in Pascal :), but almost all objections proposed in this paper against Pascal language/implementations is not applicable anymore.

      http://lambda-the-ultimate.org/classic/message4322.html#4671
      http://www.freepascal.org/

  3. I still like Pascal by Colin+Smith · · Score: 3, Funny

    TurboPascal was great. Or is it Delphi now?

    I still need a blue screen to write code quickly.

    --
    Deleted
    1. Re:I still like Pascal by suv4x4 · · Score: 4, Interesting

      TurboPascal was great. Or is it Delphi now?

      I still need a blue screen to write code quickly.


      FreePascal is probably the best representation of what Pascal used to be. Unfortunately after years and years of incompetent management, Delphi remains just an empty shell of its former self. The project was tossed around too many times now, shrunk down, and there are no guarantees for how long it'll exist or be sold to unknown 3rd party.

      Many companies with active Delphi code projects are porting to FreePascal (other reasons aside from the sad state of Delphi include compatibility with Mac and other platforms).

    2. Re:I still like Pascal by tepples · · Score: 5, Funny

      I still need a blue screen to write code quickly. You're in luck. Free Pascal works on Windows.
    3. Re:I still like Pascal by mikelieman · · Score: 1

      VistA's CPRS application == Delphi will be around another 20 years.

      --
      Technology -- No Place For Wimps! Grateful Dead and Jerry Garcia Chatroom -- http://www.wemissjerry.org
    4. Re:I still like Pascal by IdahoEv · · Score: 1

      I still need a blue screen to write code quickly.

      That's ... weird. I've always found BSOD's to be a major obstacle to rapid development.

      --
      I stole this sig from someone cleverer than me.
    5. Re:I still like Pascal by Deagol · · Score: 1

      For all the Linux and *BSD users out there, the old Borland "Turbo" DOS programs work very well under "dosbox". Whenever nostalgia overpowers your common sense, grab one of the free (as in beer) Borland programs and fire it up and see how fast "hello, world" compiles. Pretty blue and yellow IDE editor included. ;)

    6. Re:I still like Pascal by Anonymous Coward · · Score: 0

      True. Delphi's been partly split off, though, to a company called Codegear which is owned by Borland. I've been keeping an eye on this development for a while, since like many developers I like the Delphi (Pascal) language. The new management is much more open and the feeling I get is that things are on an upswing - the past two releases (2006 and 2007 editions) have been great.

      Ie, don't write it off yet - give them your support, your vocal support especially since management listens to vocal customers - and see how Delphi goes.

    7. Re:I still like Pascal by marcovje · · Score: 1

      Actually, in my last job, several programmers had set the default colors of Delphi to be yellow on blue claiming it was more soothing to the eyes. This was not a whim, they had it for at least 1 1/2 years :-)

  4. Nostalgia... by Anonymous Coward · · Score: 0

    I started programming in Pascal. It was/is widely used for teaching in highschool (in Romania), along with C. FreePascal was great for replacing Borland's Turbo Pascal, which had a nasty bug causing a division by zero when the graphics headers were used on processors faster than 200MHz. I am feeling a little nostalgic about all the programming contests I participated in and used Pascal as the language.

    1. Re:Nostalgia... by fbjon · · Score: 1
      Haha, I remember that bug! I had several exes from ancient times that needed patching. Turbo Pascal was also my first compiled language, before that it was probably nothing but BASIC. I even tried creating fancy 3d-graphics with TP, using nothing but the library functions for drawing rectangles and other assorted coloured shapes.


      Thank god I came to my senses.

      --
      True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
  5. Good Stuff by SirJorgelOfBorgel · · Score: 2, Insightful

    FreePascal has come a long way, and at least for me, it's a very valuable tool. I may not be exactly the target audience, but I prefer Object Pascal over C(++) any day for many reasons, and FPC has been my sidekick ever since Delphi did it's magic trick of fading into obscurity and uselessness. Lazarus needs some more work though, but it's getting there. Hell, if I had the time to spare, I'd contribute myself (sadly, I don't). "Good work" and thanks to the guys that made it all happen!

    1. Re:Good Stuff by Coryoth · · Score: 1

      FPC has been my sidekick ever since Delphi did it's magic trick of fading into obscurity and uselessness. If you're looking for a Delphi replacement, you might want to consider Chrome, which is Object Pascal with a variety of nice extra features, including lambda expressions, generics, nullable types, and design by contract. The downsides are that it is a .NET langauge (though it works with Mono apparently), and that only the command line tools are free -- the whole suite is pricey (though comparable in cost to Delphi I guess). It is, at the least, worth looking into if you're a Pascal fan.
    2. Re:Good Stuff by SirJorgelOfBorgel · · Score: 1

      Heh, that is interesting. Ofcourse RemObjects have always made interesting things since they came about :) Seriously, thanks for the heads up. I don't develop desktop applications anymore (moved on) though, I mainly use Delphi to write simple tools these days (which is where FPC comes in, I might like the Delphi 7 IDE better then Lazarus, but I really compile everything with FPC for multiple platforms, and most is 'unix style' command line tools now). As for .NET, aside from your post being interesting, I think I will stick to C#. Anders Hejlsberg has done a marvellous job at it and I love it almost as much as OP (though I haven't spent enough time with it due to other requirements) - for some relatively quick and dirty stuff though, FPC still rules and will continue to.

  6. What advantages does this have over Ada? by Anonymous Coward · · Score: 0

    Ada has the strong typing capabilities of Pascal, with multitasking and object support as well. It seems to be the main Pascal-like language for serious, high-reliability applications. Does Free Pascal offer any advantages over Ada?

    1. Re:What advantages does this have over Ada? by Anonymous Coward · · Score: 0

      Free Pascal is FREE software licensed under the GNU GPL. Ada was designed by the US Military Industrial Complex and further usage empowers the neocon warhawk agenda.

    2. Re:What advantages does this have over Ada? by suv4x4 · · Score: 1

      Ada has the strong typing capabilities of Pascal, with multitasking and object support as well. [...] Does Free Pascal offer any advantages over Ada?

      Object Pascal supports multitasking and objects for quite some time, so I guess the question should be the other way around.

      And I suppose in this case the answer would be "Ada compilers are not widely available (and free) for as many platforms". Not to mention the huge libraries of Pascal code out there.

    3. Re:What advantages does this have over Ada? by hangareighteen · · Score: 1
      • Available on a larger variety of platforms and OSes.
      • Great support for interfacing with external code.
      • The compiler is wickedly fast and is really good at producing compact executables.
      • FPC supports several different pascal dialects.
    4. Re:What advantages does this have over Ada? by Just+Some+Guy · · Score: 3, Funny

      Does Free Pascal offer any advantages over Ada?

      It's not Ada. Isn't that enough?

      --
      Dewey, what part of this looks like authorities should be involved?
    5. Re:What advantages does this have over Ada? by maxwell+demon · · Score: 1

      GNAT, the GNU Ada Compiler, is free and part of GCC.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    6. Re:What advantages does this have over Ada? by squiggleslash · · Score: 1

      Well, there's GNAT. And generally most Pascal compilers are incompatible with one another, as Pascal itself is a somewhat ill-defined language which is unusable in its most "agreed upon" form, so having support for "Pascal" across a range of platforms is of questionable usefulness.

      --
      You are not alone. This is not normal. None of this is normal.
    7. Re:What advantages does this have over Ada? by Coryoth · · Score: 1

      Ada has the strong typing capabilities of Pascal, with multitasking and object support as well. It seems to be the main Pascal-like language for serious, high-reliability applications. Does Free Pascal offer any advantages over Ada? You might as well ask what advantages it offers over Eiffel, another language that offers strong typing, object support, and clean clear syntax. Better yet Eiffel not only has a GPL compiler with LGPL libraries, you can also opt for a GPL compiler suite, libraries and complete development environment.

      The advantage, in the end, is that it is Pascal, and if that's the language that someone wants then other languages like Ada and Eiffel, despite similarities just aren't Pascal.
    8. Re:What advantages does this have over Ada? by Anonymous Coward · · Score: 0

      Mod parent up!!! +1 Insightful. I've had to work with Ada for the past 5 years and I'm surprised I'm still (partially) sane.

    9. Re:What advantages does this have over Ada? by suv4x4 · · Score: 1

      At least bother to read the summary: FreePascal is the standard ported to many platforms. One single standard.

    10. Re:What advantages does this have over Ada? by Col+Bat+Guano · · Score: 1

      * Available on a larger variety of platforms and OSes.

      Do you think so? Ada is available (as others have stated) as part of the GNU compiler collection, so is available on a large number of systems. Other compiler vendors supply compilers for other more obscure processors. How do you know that Pascal is more available?

      * Great support for interfacing with external code.

      It's pretty ordinary in comparison to Ada's Interface package hierarchy and collection of pragmas allowing you to specify in very fine detail. I just looked at the language reference section in FreePascal and it doesn't come close.

      * The compiler is wickedly fast and is really good at producing compact executables.

      If it's using gcc to do the code generation, then Gnat (which also uses gcc) should do the same job. I don't know about other compilers.

      * FPC supports several different pascal dialects.

      ...and that's a good thing? I think one of the strengths of Ada is that all compilers implement the same language (except for the optional packages, which can be a problem).

    11. Re:What advantages does this have over Ada? by jma05 · · Score: 1

      * The compiler is wickedly fast and is really good at producing compact executables.

      > If it's using gcc to do the code generation, then Gnat (which also uses gcc) should do the same job. I don't know about other compilers.

      I think all your other points are quite valid. Ada was always a better specified language.

      GPC (GCC), Lazarus, Virtual Pascal and Delphi are different compilers. GPC may be comparable to Gnat (I only had passing experience with it). Delphi is arguably the fastest native compiler I have seen. Certainly beats the GCC implementation of Ada in that aspect. From my memory, FreePascal was faster as well. Ada does a lot more checks on the code than Pascal does and will likely be a bit slower anyway.

    12. Re:What advantages does this have over Ada? by Col+Bat+Guano · · Score: 1
      "Ada does a lot more checks on the code than Pascal does and will likely be a bit slower anyway."

      Possibly. I think for similar programs though the extra checks shouldn't come into account. Pascal always checked array boundaries, and so long as you are only doing standard programming (no subtypes, no derived types etc.) it should be comparable.

      Gnat Ada does use a source file model for the packages, so has to rescan any "with"ed packages (similar to #include) with every compilation unit. Does FreePascal precompile things? That could make it faster...

    13. Re:What advantages does this have over Ada? by Col+Bat+Guano · · Score: 1

      I've used Ada off and on, and never had this reaction. What do you think was wrong with it?

    14. Re:What advantages does this have over Ada? by sg_oneill · · Score: 1

      Well, for what its worth, Freepascal pretty much does any flavor as long as its Borland. It supports both the Turbo pascal and Delphi variants of Obj Pascal, including the different object/class types. Which is kind of neat, as you can get those groovy old turbo pascal math libs and mush them into your Delphi code without too much drama.

      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
    15. Re:What advantages does this have over Ada? by master_p · · Score: 1

      ADA is the meanest and coolest programming language in existence. It offers features that other languages can only dream of. But it's not suitable for business tasks and such; ADA's purpose is the 'serious' software engineering, i.e. weapon systems, power plants, NASA projects etc. And it may seem similar to Pascal, but that's only superficial; there are many great differences.

    16. Re:What advantages does this have over Ada? by squiggleslash · · Score: 1

      I was trying to make sense of the comment I was responding to. FreePascal is ported to many platforms, but so is the GCC (and by implication GNAT.) So the comment that Pascal is somehow on many more platforms than ADA makes little sense unless you assume you're talking about implementations. There certainly are more Pascal implementations than ADA implementations, but that's of questionable usefulness because they're mostly incompatible with one another.

      --
      You are not alone. This is not normal. None of this is normal.
    17. Re:What advantages does this have over Ada? by Halo1 · · Score: 1

      Possibly. I think for similar programs though the extra checks shouldn't come into account. Pascal always checked array boundaries, and so long as you are only doing standard programming (no subtypes, no derived types etc.) it should be comparable.

      At least Turbo Pascal and Free Pascal support range checking for subtypes. FPC also supports checking type casts from one object/class type to another. Most checks are only turned on for debug builds though, which is a big difference with Ada.

      Does FreePascal precompile things?

      It keeps precompiled versions of interfaces, yes. But even when building from scratch, FPC is a lot faster than gcc. In general, gcc is simply a slow compiler (I've recently heard it does over 200 passes over each compiled function, so actually it is lightning fast relative to the work it does, but in absolute numbers it's still pretty slow (even with all optimizations turned off).

      --
      Donate free food here
    18. Re:What advantages does this have over Ada? by marcovje · · Score: 1

      >Does Free Pascal offer any advantages over Ada?

      Ada or GNAT? If GNAT, then, uhh, it is not GCC based.

      One Free pascal binary allows you to generate code for both your PDA, Linux and your windows machine. Native code. Crosscompiled, and anything.

      Seriously. GCC is a great compiler, but as a development platform it is slightly user unfriendly, specially on Windows. (see the article btw, where is a release worthy win64 gcc?)

    19. Re:What advantages does this have over Ada? by marcovje · · Score: 1

      I've investigated FPC vs gcc in the past, and fpc's speed depends on the following factors:

      - compiled more than one compilation unit (sourcefile) per execution of the compiler.
      - not having to interpret source to compile something dependant (IOW precompiled units)
      - integrating AS. This is a factor 5 easily. Yes. Seriously. Just gcc generating ASCII, and AS reinterpreting it

    20. Re:What advantages does this have over Ada? by marcovje · · Score: 1

      Note btw, that the cuteness of the multi dialect support is being able to combine the various dialects in one binary.

    21. Re:What advantages does this have over Ada? by marcovje · · Score: 1

      No, the Mac Pascal mode goes a long way to standarized pascal, including mac dialects.

    22. Re:What advantages does this have over Ada? by marcovje · · Score: 1

      - Does gcc support Win64 in any release?
      - FPC doesn't use GCC.
      - I've no problem with Ada. Except that FPC hooks into the quite big commercial Delphi scene's codebase (despite all blabla about Python, Delphi is second in the commercial component market only after VB6 and MS .NET variants)

      And of course the only available freely ADA compiler is GNAT, which is ok for a gcc derivate. But gcc derivates sucks on Windows, and that is still the main platform for most people

    23. Re:What advantages does this have over Ada? by Halo1 · · Score: 1

      - compiled more than one compilation unit (sourcefile) per execution of the compiler. - not having to interpret source to compile something dependant (IOW precompiled units)
      gcc can also do both of these things (at least nowadays), although Makefiles seldom make use of the former ability (but e.g. Apple's Xcode does). Its precompiled headers should even be a lot faster than fpc's, since they are plain memory dumps in case of gcc. And at least for most system headers as used in a single application, the argument of "defines which change all the time mostly defeat their purpose" is unlikely to hold (at least not after the first compilation).

      - integrating AS. This is a factor 5 easily
      Also with external assembling, fpc is still much faster at compiling than gcc. It's also not a factor 5 on the total compilation speed, but only on the part spent on assembling.

      I think the main reason for fpc's speed is simply that the compiler is much less complex (to the extent that a single person can still have a pretty good overview of pretty much the entire workings), while that cannot be said of gcc. And of course, fpc does a lot less passes over all the code.

      --
      Donate free food here
  7. Hmph. by Anonymous Coward · · Score: 2, Funny

    Don't feed the trolls, it only encourages them.

    1. Re:Hmph. by ScrewMaster · · Score: 1

      Sprinkle a little cyanide or Prussic acid in your replies.

      --
      The higher the technology, the sharper that two-edged sword.
  8. Always nice with cross platform native compilers by Jugalator · · Score: 1

    With all the focus on JIT compiled and interpreted languages, it's nice to see this niche still being worked on and kept up to date with current software, like 64-bit Windows. There are still reasons to build applications for these platforms, while at the same time seeing cross platform source code as a benefit. This is why I also like the D programming language, although I have to admit Free Pascal got it beat as for the cross platform support, where it's still lacking things like native 64-bit and Windows CE compiling.

    --
    Beware: In C++, your friends can see your privates!
  9. For some definition of the word 'free' by everphilski · · Score: 4, Informative

    Microsoft's free C++ compiler has been able to target x64 for quite some time ... it isn't open source, but is free as in beer.

    C# programs even work in Linux, without a recompile, using Mono :)

    1. Re:For some definition of the word 'free' by gerrysteele · · Score: 0, Troll

      We don't take kindly to your definition of free round here spud

    2. Re:For some definition of the word 'free' by andreyw · · Score: 3, Insightful

      Why was parent modded troll? The article says "only free software compiler" which could mean either a compiler that is free software (as in FOSS), or a software compiler that is free. Certainly, Microsoft distributes a C++ compiler that targets both AMD64 and IA-64 and is compiler that is free, although not FOSS.

      It's this childish "Waah, its MS and not FOSS" attitude that make all of /. readers look like pimply basement dwelling dorks.

      Ugh...

    3. Re:For some definition of the word 'free' by Mr.+Slippery · · Score: 1

      The article says "only free software compiler" which could mean either a compiler that is free software (as in FOSS), or a software compiler that is free.

      No. "Free software" has been a term of art for over two decades, meaning software that is distributed under terms respecting the four freedoms. Any person educated in the field of software knows that the term "free software" does not refer to price.

      "FOSS" is a recent term that attempts to conflate the Free Software movement with the Open Source Software movement.

      It's this childish "Waah, its MS and not FOSS" attitude that make all of /. readers look like pimply basement dwelling dorks.

      It's this childish attempt to redefine well-understood terms that makes you look like a corporate shill.

      --
      Tom Swiss | the infamous tms | my blog
      You cannot wash away blood with blood
    4. Re:For some definition of the word 'free' by andreyw · · Score: 1, Funny

      Me. A corporate shill. Why yes. Because using a non-``the holy GNU'''s C compiler somehow means you sell your soul to the very devil.

    5. Re:For some definition of the word 'free' by Anonymous Coward · · Score: 0

      C# programs _that also use Windows Forms_ and not Gtk# or SDL# run on Linux?

      Last time I checked Sharp Develop, a free IDE for C# did not function.
      Or what about Paint .NET, a cool graphical app?

      Nope, these use Windows Forms, these dont run in Mono.
      According to http://www.mono-project.com/WinForms_CodeOwners things like textboxes are still "under development".

      Mono was not intended as a compatibility layer for Linux, just a cool tech that Icaza wanted for GNOME.

    6. Re:For some definition of the word 'free' by everphilski · · Score: 1

      No. "Free software" has been a term of art for over two decades, meaning software that is distributed under terms respecting the four freedoms.

      Now that is funny, because I recall in the late 80's getting books from my local library telling me how to obtain 'free software' (for a nominal S&H fee) which was **not** open source, merely people who had the good nature to release software for free. Get off your high horse, RMS doesn't have an exclusive lock on the word 'free'.

    7. Re:For some definition of the word 'free' by Anonymous Coward · · Score: 0

      There's also an experimental x86_64 port of MinGW.

    8. Re:For some definition of the word 'free' by Anonymous Coward · · Score: 0

      or a software compiler that is free
      As opposed to all hardware compilers targeting win64? Get real ;)
    9. Re:For some definition of the word 'free' by Da+VinMan · · Score: 1

      Free as in "free speech", not "free beer".

      --
      Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
  10. Ah by fishthegeek · · Score: 1

    Pascal. The eight wonder of the IT world.

    --
    load "$",8,1
  11. Re:Always nice with cross platform native compiler by Jugalator · · Score: 1

    Oh and that comment of mine was missing that there's also an IDE for cross platform GUI development? Wow, now we're starting to get into rare territory... I've been looking for *good* IDE's for this purpose in the past, the closest I came to was something like wxWidgets. I dislike large libraries that need to be installed for GUI support, and this one apparently only needs GTK for Linux, and nothing special at all for Windows. Getting more interesting... :-) If I only knew Pascal better, it was something like a decade since I worked on it last time...

    --
    Beware: In C++, your friends can see your privates!
  12. Slashdotted by ElMiguel · · Score: 1

    Cue the "the server must be written in Pascal" jokes...

    Here's a MirrorDot link for the FreePascal site.

  13. Free Pascal advantages by Anonymous Coward · · Score: 0

    Does Free Pascal offer any advantages over Ada?

    Perhaps Free Pascal does not make you want to kill yourself?

    I kid, I kid.

  14. So late 80s... by jdmuir · · Score: 1

    Wait, let me get out the Depeche Mode album that I played while writing my high-school computers class assignments.

    Who uses Pascal? Isn't Java or .NET the new Pascal?

    1. Re:So late 80s... by Anonymous Coward · · Score: 0

      Pascal and P-code were the successors of Java and .NET/JVM. Some advancement happened, but not that much. AFAIK Freepascal produces quite fast code with fast compile times. It's also object oriented. So in some areas it still scales much better than Java.

  15. I freed myself of Pascal... by AetherBurner · · Score: 2, Funny

    when I got out of college. I have been clean and sober from Pascal since then and I plan to stay on the wagon.

    1. Re:I freed myself of Pascal... by jagdish · · Score: 1

      Dont you mean off the wagon?

  16. Cool by bteeter · · Score: 1

    I always liked coding in Pascal in college. I don't know what I'd use it for now, except maybe to see if my old code from school would compile and run.

    Anyways, its nice to know that someone out there is still supporting the language. Maybe we can replace Javascript with some variant of Pascal? That would be pretty sweet.

  17. 80's college nostalgia by theolein · · Score: 4, Insightful

    Like many others here, I learnt Pascal at school in the early 80s before C, then C++ and finally Java became the standard teaching languages. The thing about Pascal, of course, is that it was designed to be a teaching language. All of that verbose syntax is meant to teach good structured programming. While Object Pascal will never reach the mainstream in any way more than Delphi did, it would perhaps have eliminated many of the errors made by coders due to the byzantine complexity of C++. At least thats what I think. That enforced verbosity made the code very readable, in a similar way to the way Java is, except that Pascal is native code.

    1. Re:80's college nostalgia by Anonymous Coward · · Score: 0

      You seem to know what you're talking about. And I'd like to learn Pascal. Are there any texts or resources you'd suggest?

    2. Re:80's college nostalgia by Tom9729 · · Score: 2, Informative

      http://taoyue.com/tutorials/pascal/contents.html

      I've been reading through that and it seems pretty decent.

      Googling "pascal tutorials" or something similar turns up quite a few results as well.

    3. Re:80's college nostalgia by cronot · · Score: 1

      While Object Pascal will never reach the mainstream in any way more than Delphi did ...

      Sorry, but I think that's an oxymoron. IIRC, Delphi is just an IDE for the Object Pascal language, with a package of libraries/components thrown in.

    4. Re:80's college nostalgia by vocaro · · Score: 1

      except that Pascal is native code

      Pascal isn't native code. Pascal compilers may compile the language to native code, but Java compilers can do that, too.

    5. Re:80's college nostalgia by FlyingGuy · · Score: 5, Informative

      Pascal is arguably one of the easiest languages to learn there ever was. It's very verboseness leads to readable code, but don't confuse that with weakness. Modern Pascal implementations like Delphi and Free Pascal are powerful languages.

      The basics of pascal are simple:

      // A simple function
      Function FooFunc(X : integer) : integer ;
      begin
      result := X + 1 ;
      end;

      // A simple Procedure
      Procedure FooProc(var X : integer );
      begin
      X := X + 1 ;
      end;

      Note the difference in the way the function and the procedure are declared above. Pascal passes parameters either by reference or by value. Using the var directive in the procedure declaration of x as integer I told the compiler to pass the value in by reference and therefor that value can be changed by the procedure. Note that when declaring the parameter this way I can ONLY pass a variable to it of the same type, or typecast a variable of a similar type. If I do NOT use the var invocation in declaring the parameter I can pass either a variable or a literal as below:

      // pass in a literal
      Y := FooFunc(1) ;

      // pass in a variable
      Y := FooFunc(i) ;

      // Y will contain the value of the operation of the function.

      FooProc(i) ;

      // The variable i is now modified by the procedure.

      FooProc(1);

      // Illegal syntax, a variable MUST be passed to the procedure.

      This should give you a basic start, the rest is really easy. Pascal does pointers, Structures, file I/O with either typed or untyped files, Inline Coding, Inline Assembler, pretty much everything you would expect from a robust language.
      --
      Hey KID! Yeah you, get the fuck off my lawn!
    6. Re:80's college nostalgia by antdude · · Score: 1

      At my university's CS, Pascal was the first programming language to take as a requirement. The sad part was it was the last year before it went away to be replaced by C++. It was in fall semster of 1994, not even the 80s. :P

      --
      Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
    7. Re:80's college nostalgia by PCM2 · · Score: 1

      Pascal isn't native code. Pascal compilers may compile the language to native code, but Java compilers can do that, too.

      And the way I remember it, Apple ][ Pascal compiled to a variant of UCSD p-Code, which seemed obscure at the time but seems kind of ahead of its time now.

      --
      Breakfast served all day!
    8. Re:80's college nostalgia by Vexorian · · Score: 1

      // Illegal syntax, a variable MUST be passed to the procedure.
      thank god it isn't like that anymore, at least not in the delphi compiler I am using.
      Because of lame reasons I have plenty of delphi projects on win32, I have used delphi for 3 years, and I have learned to hate it. Yep, I hate pascal's syntax, I guess there is some time in life in which the verboness stops appealing you. The lack of a keyword to set result AND exit the function is something you would get to miss if you are used to any other language.
      --

      Copyright infringement is "piracy" in the same way DRM is "consumer rape"
    9. Re:80's college nostalgia by Anonymous Coward · · Score: 0

      At my college (Univ. Michigan), I programmed in something called AlgolW that had a very similar syntax to Pascal. Pascal was the new "cool" language that the students wanted to use - the courses switched to Pascal about a year later. This was around 1981.

    10. Re:80's college nostalgia by dunkelfalke · · Score: 1

      used to be. delphi object pascal is called delphi language nowadays.

      --
      "It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
    11. Re:80's college nostalgia by FlyingGuy · · Score: 1

      Well to each their own. I have programmed in C, C++, ADA, PHP, Java, JavaScript, PSQL, TSQL, JCL, Assembler for x86, 68K, Z80 and still find pascal's verboseness a benefit.

      And I really have no idea what version of Delphi you are using, since by the very definition of the Pascal Language itself, VAR parameters are passed as a pointer to the area of the heap or the stack that the VAR(iable) exists in, they can be local of global in scope, but a var parameter MUST be passed. The compiler de-references the pointer in the background so you don't have to deal with pointers, if you don't want to.

      Quite possibly you might be thinking of the fact that you can call a function without assigning its result to a variable. This is a convenient feature but in my opinion it makes for sloppy programming, because if you don't need the result, then you should have defined a procedure rather then a function.

      As to the lack of a keyword to SET a function result AND exit at the same time, I think that rather has its advantages. Now I am not saying a return keyword like the one defined in "C" does not have its own advantages, but the keyword result has its definite advantages. As they professor in my C classes once said, "Beware of early returns"

      --
      Hey KID! Yeah you, get the fuck off my lawn!
    12. Re:80's college nostalgia by JasterBobaMereel · · Score: 1

      The man who designed C# would agree - since he also designed Delphi .... Anders Hejlsberg

      --
      Puteulanus fenestra mortis
    13. Re:80's college nostalgia by Tony+Hoyle · · Score: 1

      You fail Pascal 101 - semicolon after end!!!

      Early pascal compilers wouldn't even compile that... ours would (VMS Pascal - it sucked in many ways but was more lenient if we were allowed to let it be, which we weren't) but consistent use of it *would* have failed you even if the program ran in other ways - it was a mantra repeated almost constantly.

    14. Re:80's college nostalgia by FlyingGuy · · Score: 1

      Sorry I want to give you an example:

      //the following two declarations are analogous
      Procedure FooProc(var X : ineger);
      Procedure BarProc(X : pIntger);
      // Where pInteger is defined as
      Type
      pInteger : ^Integer ;

      In both cases the variable passed in must be dereference. In the case of FooProc() the compiler does it for you, in the case of BarProc() you must do so explicitly as :

      // defined with a VAR parameter
      Procedure FooProc(var X : integer);
      begin
      X := X + 1 ;
      end
      // Defined with a pointer to integer parameter
      Procedure BarProc(X : pInteger );
      begin
      X^ := X^ + 1 '
      end;
      // calling is thus
      FooProc(i);
      BarProc(@i);
      // The @ operator sends the address of the variable being passed.
      // because i is defined as an integer, the compiler knows the bit size
      // and arrangement and therefor the dereferencing of i is a known
      // quantity and it runs just fine.

      As you can plainly see they are exactly the same except that in one the compiler does the work for you, and in the other YOU do the details. Bye the bye, this was all tested and compiled under Delphi V5 Enterprise.
      --
      Hey KID! Yeah you, get the fuck off my lawn!
    15. Re:80's college nostalgia by FlyingGuy · · Score: 1

      Where!? Ohh the horror, the HORROR!!!!!

      Laughing my ass off. Ya know that is one thing I do like about Delphi, the compiler is SO damn fast, it can be used as a syntax checker!

      Interestingly enough, even in Delphi you can leave off the VERY last semi-colon just before the end of the procedure declaration.

      I have to confess that I MUCH prefer pascals case/switch behavior to that of C. I am always forgetting to BREAK and the damn thing falls through. I guess that is the price I pay for using both languages for different and various projects. C'Est le Vie eh?

      --
      Hey KID! Yeah you, get the fuck off my lawn!
    16. Re:80's college nostalgia by Halo1 · · Score: 1

      The lack of a keyword to set result AND exit the function is something you would get to miss if you are used to any other language.

      FWIW, FPC supports exit(somevalue); for this purpose (and return somevalue; in MacPas mode, because that's what Metrowerks Pascal supported).

      --
      Donate free food here
    17. Re:80's college nostalgia by Vexorian · · Score: 1

      I misunderstood you in your last example as if you were saying that procedures required reference arguments all the time. Delphi V5 sounds like 50% of the version I am using right now.

      --

      Copyright infringement is "piracy" in the same way DRM is "consumer rape"
    18. Re:80's college nostalgia by owlstead · · Score: 1

      "Pascal does pointers, Structures, file I/O with either typed or untyped files, Inline Coding, Inline Assembler, pretty much everything you would expect from a robust language."

      Pointers, inline coding and inline assembler are features you expect from a "robust language"? Well, as long as you don't need robust applications I suppose.

    19. Re:80's college nostalgia by FlyingGuy · · Score: 1

      Pointers, inline coding and inline assembler are features you expect from a "robust language"? Well, as long as you don't need robust applications I suppose.

      Well I will take this as potential flame bait, but what the heck. There are MANY robust applications written in Pascal. One of the very robust applications that comes to mind was Quatro Pro, Written completely in Object Pascal. It was eating Lotus 123's & Excel's lunch in the spreadsheet race before the infamous "Look and Feel" lawsuit of that pecker head Jim Manzi, which Borland eventually won, but only after being bled for cash that it almost put the company under.

      You might want to lookup OpenTable.com. ALL of their backend software, written in Pascal ( Delphi ), you might also want to look around in a few other places. LOTS of very robust applications out there.

      The point is that robust applications can be written in pretty much any language, not just the one you, or I happen to be fanboy's of since its all about the programmers writing the software, not the language. Some language implementations might be faster or slower depending on who wrote the compiler, but thats not really the point, now is it.

      --
      Hey KID! Yeah you, get the fuck off my lawn!
    20. Re:80's college nostalgia by jgrahn · · Score: 1

      Pointers, inline coding and inline assembler are features you expect from a "robust language"? Well, as long as you don't need robust applications I suppose.

      Last time I looked, Pascal didn't even have real pointers. isn't that ^foo stuff really what the rest of us call references -- guaranteed to point to one certain object over its lifetime?

      OTOH, "last time" was in 1990 or so, and it might have been Modula-2. Keeping track of the Pascal dialects is not my favorite hobby.

    21. Re:80's college nostalgia by owlstead · · Score: 1

      Of course there are robust Pascal/Delphi applications, but you suggested that these features are expected in a robust language (whatever that means). I know at least one user of Delphi that only lets experienced programmers write un-managed Delphi code (pointers and what more). The rest needs to write managed code. If it's there, it tends to get used, and robustness does not come from that.

    22. Re:80's college nostalgia by Anonymous Coward · · Score: 0

      Interestingly enough, even in Delphi you can leave off the VERY last semi-colon just before the end of the procedure declaration.

      This is correct behavior. In Pascal, statements are separated by the semi-colon, unlike in C where statements are terminated by the semi-colon. In Pascal, end isn't a statement, so no need for a separator, and not just for procedures/functions, but any code block.

      - T

    23. Re:80's college nostalgia by Gothmog+of+A · · Score: 1

      The same functions in C++:

      int FooFunc(int X)
      {
      return X + 1;
      }

      void FooProc(int &X)
      {
      ++X;
      }
      not that much of a difference just a bit more terse.

      Does Delphi/Free Pascal has the equivalent of "const &" i.e. pass by reference with the promise not to change the value? This is a really important concept to avoid copying of large data structures while still maintaining the non-modifying guarantee.

    24. Re:80's college nostalgia by RalphTWaP · · Score: 1

      "...pretty much everything you would expect from a robust language."

      But missing the most rudimentary functionality to support safe resource aquisition and release. References to objects in Object Pascal/Delphi are always by object pointers to objects which are allocated on the heap. When these references go out of scope, no action is taken, no destructors or deleters are called (except the hackery made for interfaces). The result is a nasty repetition of try/finally blocks for any function/method/procedure which will use an object with limited lifetime.

      It's sad that in a language marketed for rapid application development, it's easier to leak memory than in C++.

    25. Re:80's college nostalgia by FlyingGuy · · Score: 1

      I understand what you are saying; however, by changing a pointer to an object, especially one that is created by a constructor, is just BAD programming and is a mistake I would expect from someone who has never programmed in a language with pointers, or just someone tinkering around and doing silly things.

      NO language is fool proof when people do stupid things.

      Languages have rules and failure to follow said rules is neither the fault of the language, the language designer, the compiler or anything else, its the fault of the programmer.

      Now then, having said that, their have been instances when I have PURPOSEFULLY changed a pointer to an object, but not before making sure that I either moved the contents of memory around, or saved off the original value of the pointer so I could restore it. Now even doing it that way is fraught with peril because you can never be quite sure if you caught everything.

      Pascal can save you from yourself in most instances, but there are instances where it just can't, like when you don't obey the rules. But the nice part is that you can break the rules, but do so at your own peril and make double damn sure you know what you are doing.

      It reminds me a lot of the DOS days when we were writing code that addressed video memory directly, doing things like diving deep into the video card and turning off refresh to avoid the snow that came from that or Delving into the PSP to extend the size of the file table when DOS was limiting you to 20 open files max. We also did things like go around the file system and read and WRITE sectors on the hard drive. ALL these things broke the rules, but we were careful to understand ALL the rules before we started breaking them.

      --
      Hey KID! Yeah you, get the fuck off my lawn!
    26. Re:80's college nostalgia by FlyingGuy · · Score: 1

      Nope, not so. Even in Turbo Pascal back in the dos days you could do the following:

      var

      pInteger : pointer ;

      begin

      GetMem(pInteger,SizeOf(Integer));

      // The you could muck about by doing as follows

      pInteger := pointer(LongInt(pInteger)+SizeOf(Integer));

      writeln(Integer(pInteger^)) ;

      pIntger := pointer(LongInt(pInteger)-2) ;

      end;

      You just incremented the pointer by sizeof(Integer), which was in those days a signed 16 bit number and the pointers were 16 bit as well unless they were FAR pointers, then decremented the same pointer back to pointing to its original memory location.

      I know the great unwashed just loves to cap on pascal, but you are simply incorrect. I learned C at the same time I was learning pascal. I though C was a bit more elegant in some ways, but not any more powerful. Not only that, it was very easy to tell that in C you could do some pretty stupid things, inadvertently and very easily and trash the whole shooting match if you were not extremely careful.
      --
      Hey KID! Yeah you, get the fuck off my lawn!
  18. Pascal and Modula 2 in the '80s by ackthpt · · Score: 1

    I too learned Pascal in the early 80's when it was that or Fortran IV. Both seemed to me to require a lot of typing to accomplish anything. I picked up Modula2 for my Amiga as I already knew Pascal and it was quite similar, the Modula2 compiler was relatively inexpensive and the executables were tight and fast. Eventually I picked up Lattice C for the Amiga (an earlier version in a bargain bin, which I paid a bit more and upgraded to the latest release :o) and never looked back.

    --

    A feeling of having made the same mistake before: Deja Foobar
  19. Then try this Pascal (Bakery Trompeau) by Anonymous Coward · · Score: 0

    In Denver. Now, that's artistry.

  20. Wow... by gordgekko · · Score: 1

    Pascal is still around? I used to do some light coding in Pascal back in the mid-1980s. So when is a new version of Modula going to be released? :-)

    --
    You want to know who isn't running Firefox 2.x? They spell it "definately" and "rediculous".
  21. I am not a programmer really by treeves · · Score: 1

    . . .but I learned three programming languages: BASIC, Pascal, and FORTRAN, in that order. That is all. Well, there was HP-41 synthetic programming and HP-48 too.

    --
    ...the future crusty old bastards are already drinking the Kool-Aid.
  22. Not the first free compiler to support win64 by Anonymous Coward · · Score: 3, Informative

    Just the first free compiler that has an official release. The trunk of GCC supports Win64 for a while now. Just there has not been a release yet. This has been true since 2007-03-30. Binutils support win64 was added 2006-09-20.

    1. Re:Not the first free compiler to support win64 by Anonymous Coward · · Score: 0

      Freepascal was also the first compiler which supported Win64 in it's development branch. (March 2006)

      That's because the wasy FPC is constructed: as soon as the x86_64-support for linux was ready, it also worked for win64. But there was no suitable linker available. The FPC-team waited a few months for the GNU-binutils to become available. But that took too long so they decided to build their own linker and assembler.

    2. Re:Not the first free compiler to support win64 by Anonymous Coward · · Score: 0

      "The FPC-team waited a few months for the GNU-binutils to become available. But that took too long so they decided to build their own linker and assembler."

      While it would probably have been less effort for them to contribute a win64 port to binutils, and certainly more useful to others. This doesn't sound great of them :(

    3. Re:Not the first free compiler to support win64 by Halo1 · · Score: 1

      While it would probably have been less effort for them to contribute a win64 port to binutils

      Probably not. FPC already had an internal i386 assembler, based on the tables of nasm. Those were simply extended for x86_64, iirc even based on beta patches to nasm. And the main reason for an internal linker was not x86_64 support, but the fact that ld is very slow and memory hungry (in particular on Windows). Also, by skipping all intermediate steps in the process of internal assembler representation -> text representation -> gas -> object files -> ld parsing object files again -> final binary, you obviously get an inherent speedup.

      Both this internal assembler and linker are written in Pascal like the rest of the compiler, and therefore are much less work for the FPC team to write/test/debug than GNU as/ld (as most FPC developers are much more used to developing in Pascal than in C, not to mention that they know FPC inside out while this is not the case for the binutils).

      That said, I'm personally also not a fan of duplicating functionality like that and will probably never do it for the FPC targets which I support, but I just wanted to correct your (wrong) notion that the people who wrote the internal assembler/linker could just as easily have added that support to the binutils.

      --
      Donate free food here
  23. Worst nightmare by Gabest · · Score: 1

    This is one of my returning nightmares, after having programmed in c++ for years I had to take turbo pascal classes for one semester, then another one for an ancient version of delphi.

  24. books? by Anonymous Coward · · Score: 0

    Everyone keeps saying it's a great learning tool. Can someone please recommend a book to teach us?

    1. Re:books? by Mantaar · · Score: 1

      You might know Sedgewick's books about 'Algorithms in [language]', where the language is any of C, C++, Java. Well, I still have a (digital) copy of it's very first issue around where all those algorithms were written in Pascal - the book was called 'Algorithms'.

      I did some Pascal coding back in the nineties (I was a thirteen yo Pascal newbie - when I take a look at the programs today I feel tempted to puke all over my keyboard) and re-learned part of it for the algorithms in this book - it's an elegant language, sad thing it's dying - the verbose syntax isn't all that bad; I think the most important thing about easy understanding of a program's logic is consistent indentation.

      And google will give you some help with getting started with Pascal. I think there should be a lot around...

      --
      I'm an infovore...
  25. um? size? by tomstdenis · · Score: 1, Informative

    I just installed 2.2.0 on my x86_64 box and this is what I got for hello world ...

    tom@core2 ~ $ ls -lrt test?
    -rwxr-xr-x 1 tom users 145208 Sep 10 19:03 testp
    -rwxr-xr-x 1 tom users 6384 Sep 10 19:05 testc

    Both were run through "strip" to remove any possible debug/extra details. testp is from this pascal program

    begin
          writeln('hello world');
    end.

    And testc from

    #include <stdio.h>
    int main(void)
    {
          puts("Hello World");
          return 0;
    }

    Aside from the ubiquity of C, the fact that there are few moving targets [e.g. aim for C90 and you're usually fine], and that it seems to produce smaller binaries ... why would I want Pascal?

    Don't get me wrong, I was a pascal whore when I was kid too. But let's face it. Everything [that matters] is written in C, C compilers are everywhere, and their optimizers are highly kick ass. I just don't see why FPC matters beyond being a nice hobby project to rekindle "the old days."

    --
    Someday, I'll have a real sig.
    1. Re:um? size? by Anonymous Coward · · Score: 0

      You did not RTFM. So go read the fine manual how to enable smartlinking.

      Btw. try ldd on both of those exes.

    2. Re:um? size? by hangareighteen · · Score: 3, Informative
      Your examply only shows that you don't exactly know how to use the fpc compiler. It's okay.. it's got a lot of options, and it dosen't exactly work like C. For example, the pascal compiler generates, by default, static executables. And C, dynamic.

      Yes, simply looking at obj size will make this look bad. Actually looking at the object itself makes it pretty clear what's really happening. Remember, 'file' is your friend.

    3. Re:um? size? by cnettel · · Score: 1

      Do you link statically to glibc? of course, that's part of the ubiquity argument, but it's not like the libraries are bloated just for the sake of it.

    4. Re:um? size? by tomstdenis · · Score: 1

      I suspected as much, but the point is how many others are going to make the same mistake? Why isn't dynamic [shared] objects the default on Linux platforms? etc...

      Normally it's the opposite that you want static binaries in only odd situations [e.g. to make an application binary-wise portable, to use it when glibc or other libs may not be available, to free up a register on non-PIC friendly platforms, e.g. x86-32].

      Tom

      --
      Someday, I'll have a real sig.
    5. Re:um? size? by Anonymous Coward · · Score: 0

      The FPC compiler does not need libc, allthough it can use it. This is really usefull if you want to carry your executables from one Linux machine to another, they always work, regardless of the distribution installed.

    6. Re:um? size? by tomstdenis · · Score: 1

      I'm not against Pascal as a language, I just question why we need yet another toolchain. Why not write a good pascal frontend for GCC and then take advantage of all the platforms they support + optimizers, etc. The optimizers in GCC are hardly language specific, most of them work on very abstract machine representations after the language has been compiled to an independent machine type.

      And yeah, I would be for ranting against Cobol as it's ancient and not very useful. Fortran from what I hear still serves the math niche well.

      Suppose I'm a developer in a company. We work with, say, crypto software, on a variety of embedded platforms [not all of which run Linux]. Please tell me why I should consider Pascal. Or, suppose I've been dropped into a company with millions of dollars of existing software toolkits [all written in C]. Please tell me why we should port it all to Pascal?

      Pascal is cool and all, but until I can be reasonably assured to find it everywhere, in a project [like GCC] that I can be assured will be here in 5 years, I can't really promote it in any of my projects.

      GCC has been around for 2 decades or so. It has scores of contributors from all walks of life and industry. Can you say the same for Free Pascal?

      --
      Someday, I'll have a real sig.
    7. Re:um? size? by Anonymous Coward · · Score: 0

      There exists a Pascal front-end for GCC, it is called GNU-Pascal. It is technically way behind Free Pascal and very little development is done nowadays.

    8. Re:um? size? by arth1 · · Score: 4, Informative

      Both were run through "strip" to remove any possible debug/extra details. testp is from this pascal program

      begin
                  writeln('hello world');
      end.

      That's bad pascal. You lack the program declaration with specification of IO, and you also have a null statement at the end (the semicolon that should not be there). Try:

      program helloworld(output);
      begin
              writeln('hello world')
      end.

      why would I want Pascal?

      You might want a stronger typed language than C, where there's no risk of signed/unsigned typecasting behind your back, or where you can limit the data type. There's no risk of your plane thinking it's flying upside down when you cross the dateline, for example. Or of spinning clockwise 182 times to make a 65535 degree turn, when you really wanted a 1 degree left turn.
      Then there's legibility. Pascal /is/ very legible, compared to most other languages. If more than one person or team has to work on code, it's far easier than even well-written C or java.

      I personally miss UCSD-pascal and p-code. It did what java was meant to do -- run as a pseudo-machine with pre-compiled bytecode in a machine independent fashion. Too many youngsters today think that Sun created that concept with java, when in reality it was a ripoff of USCD-pascal's p-code for a C++-like language.

      Regards,
      --
      *Art
    9. Re:um? size? by hangareighteen · · Score: 1
      I wouldn't think so.. anyone attempting to use a language should study it, and the toolchain involved. Just because we're all mostly using unix and have become used to the ABI and methodologies dosen't mean that they are sane, or are going to apply to every other tool we pick up and use.. this is the same for the FPC compiler. As my father might say: "That's not a toy. Put it down until you understand what it does."

      Um.. isn't application portability one of the strong suits of the FPC compiler. Isn't the expansion of this strength even mentioned in the article summary? ;) Check out Lazarus and I think you'll understand where the FPC people are coming from a little better.

      In short.. pascal isn't the best, and FPC isn't the fastest/greatest/whatever. It's damn good though, and in the right situation, it shines. Which, is a lot like all the other tools we have available to us. :)

    10. Re:um? size? by hangareighteen · · Score: 1
      We don't need anything.. we like it. Why should I use libTomCrypt as opposed to the many other libraries like it already available? Why should I port all my crypto-using code to your library from what I'm already using? I mean, libTomCrypt is cool and all, but unless I can be assured that it will actively developed in 5 years -- I can't really go and use it in any of my projects. OpenSSL has been around for a long time, and has plenty of people whom I'd assume are very smart about crypto working on it. Can you say the same for libTomCrypt?

      I use what I likes. And, apparently, so do you.

    11. Re:um? size? by tomstdenis · · Score: 0, Flamebait

      Hahaha, you tried to make it personal to prove a point. Nice.

      Well, OpenSSL and LibTomCrypt are not the same type of projects. OpenSSL provides SSL. LibTomCrypt provides more generic crypto services (and more of them). You should also note that I don't actively push LTC anymore (I use it, but after what happened to me on usenet I don't give a fuck if anyone else uses it). So please, stop beating the dead horse. LibTomCrypt is the past, not future.

      So anyways, if you're going to dig up the past and flog it, at least get your fucking facts straight you half-breed troll.

      --
      Someday, I'll have a real sig.
    12. Re:um? size? by tomstdenis · · Score: 1

      While my rant wasn't so much about the language (I actually like the pascal language), but since you made it about that I'll answer.

      I've heard the "pascal lets no error occur" bullshit argument, also paraphrased for C++, Java, C#, etc.

      I don't know about you, but I try to develop software that I can verify, or at the very least test properly. I also write code with buffer management, type management, etc, in mind. I also use as many warning flags as practical, etc.

      If you don't just sit down and crack out line after line of code it's not hard to write C code that is secure and purposeful.

      --
      Someday, I'll have a real sig.
    13. Re:um? size? by Electrum · · Score: 1

      LibTomCrypt provides more generic crypto services (and more of them). You should also note that I don't actively push LTC anymore (I use it, but after what happened to me on usenet I don't give a fuck if anyone else uses it). ... LibTomCrypt is the past, not future.

      That's too bad. High quality public domain code is rare. Thank you for all your hard work.

    14. Re:um? size? by ghettoimp · · Score: 1

      500 GB hard drives are now going for $100, so that 140 KB of executable bloat costs you about .003 cents.

      I, for one, wouldn't worry.

    15. Re:um? size? by Anonymous Coward · · Score: 0

      Perhaps you should read the FAQ.

      same program:

      fpc -O2 -Xx -Xs hello.pas
      -rwxr-xr-x 1 ales ales 22204 2007-09-11 11:16 hello

      ldd ./hello
                      not a dynamic executable

      gcc -O2 -static -static-libgcc hello.c -o chello
      -rwxr-xr-x 1 ales ales 537307 2007-09-11 11:18 chello

      ldd ./chello
                      not a dynamic executable

      Now we're talking pal. Smartlinking kicks gcc's ass :) The thing is, with FPC, unless you use external C libraries, you don't need to tag along "librtl.so" or other useless crap around. Not even libc (the horrible glibc on linux to boot) dependency. Why is this good? Because I can compile on Ubuntu feisty, and run the binary on Linux 2.4 eg: old Mandrake 8. Can't beat that.

    16. Re:um? size? by deletedaccount · · Score: 1

      I personally miss UCSD-pascal and p-code. It did what java was meant to do -- run as a pseudo-machine with pre-compiled bytecode in a machine independent fashion. Too many youngsters today think that Sun created that concept with java, when in reality it was a ripoff of USCD-pascal's p-code for a C++-like language.
      I worked with p-system pascal for a couple of years but I'm not sure I miss all the stack/heap overflows. You're entirely correct about the bytecode stuff. Funnily enough I'm a java programmer now.
    17. Re:um? size? by Anonymous Coward · · Score: 0

      As a matter of fact I can. Free Pascal has been around since 1993, and is used by Belgium telecom. Enough said. Free Pascal is used because C/GCC is too dangerous.

    18. Re:um? size? by Anonymous Coward · · Score: 0

      That's not completly true, programs like Skype or Spybot S&D are written in pascal, just to name a few popular ones.

    19. Re:um? size? by tomstdenis · · Score: 1

      Thanks for the compliment. It's not that I don't like the idea of working on OSS projects like it. Just after the crap I went through I re-organized my life and shifted priorities. Not like I didn't meet really cool people through working on the projects, and if I had to do it over I probably would. They proved useful both professionally and personally.

      Only so much abuse a person is willing to take before they just move on. What the trolls did on usenet though represents all that is wrong with modern "civilized" society. They didn't like that fact that I was an outspoken advocate of open source crypto (and opposed to proprietary closed source). So what did they do? Joe-job me with kiddie porn, spam my 2nd book before it was in print, re-post all my research posts all over usenet, steal my domain. I actually received death threats as a result of what they did to me. My 2nd book was released with all sorts of negative comments on amazon even before it was printed.

      All I wanted to do was have a project to pour energy into, share research results, and have something to talk about. And because some people on usenet didn't like me [or whatever their reasons] they took that from me. Five years of work, poof, gone. I used to get a kick out of posting implementation observations (like doing fast math, fast ECC, etc). Now the idea of posting in usenet scares me, and I lost all desire to do research. Last I checked sci.crypt was still being flooded, probably by the same person.

      And if Martin Marcel somehow reads this /. post ... you're a mean obtuse little person. You could have worked with me to have a library to use for profit. Instead you served only to hamper my progress and try to character assassinate me at every turn. I hope you fail in all your endeavours, and that you end your life as miserable as you had made mine.

      In a way I'm lucky I had music to fall back on. At least there I can spend my time and energy, and there aren't "trolls" to steal the enthusiasm away. Nowadays, I spend quite a bit of time studying piano, guitar, music theory, and composing. That is when I'm not at work (in crypto field). If I didn't have the music to fall back on, I don't know where I would have ended up. LT projects were my life at the time. They're what made me me. Now all I have to do is study hard at my music and hopefully make that me too... /rant

      --
      Someday, I'll have a real sig.
    20. Re:um? size? by tomstdenis · · Score: 1

      I don't see how GCC is dangerous, but seeing as you're talking out your ass I don't expect an explanation.

      And can we stop having AC posts on slashdot already? I mean, man up and attach your username to a post for a change.

      --
      Someday, I'll have a real sig.
    21. Re:um? size? by sydneyfong · · Score: 1

      > Why isn't dynamic [shared] objects the default on Linux platforms?

      For gcc, the standard C library shared object, also known as /lib/libc.so.6, is present on almost all modern Linux platforms. For gcc it can produce a dynamic object that links with the C library and not expect any problems.

      For Pascal, there is no "Pascal Standard Library", so all the code that C can delegate to a standard library, a pascal compiler has to include in the output executable.

      > e.g. to make an application binary-wise portable, to use it when glibc or other libs may not be available

      In fact this is a similar case. Suppose there is a "Pascal standard library" that comes with the Free Pascal compiler. A dynamically linked executable would likely not run on another random machine because FPC was not installed there (however a C program using only the C standard library calls would run even if it were dynamically linked).

      And obviously glibc is not available for a Pascal compiler. The "c" in glibc... stands for "C" as in the programming language. IIRC GNU Pascal uses glibc (correct me if I'm wrong here), but that's probably because gpc uses the gcc backend whereas FPC does not.

      --
      Don't quote me on this.
    22. Re:um? size? by Anonymous Coward · · Score: 0

      interesting story ... joe jobs, death threats, harassment - sounds like a job for the police ... did you contact them?

      and i dont get it .. why would anyone abandon his passion because of some idiot(s)?

    23. Re:um? size? by tomstdenis · · Score: 1

      Actually the police called me several times when others complained [the average netizen doesn't get what joe-jobs are]. Fortunately for me the police were smart enough to realize what was going on and they only called me to make sure I knew what was going on.

      And why did I abandon it? Because I can't enjoy it anymore. Suppose I come up with a new cool algorithm or implementation idea or whatever. Whom do I share it with? None of my local friends are into cryptography, I don't lecture at a university, and I can't talk on usenet/etc without provoking people. I'm just not willing to engage in the practice publicly anymore. Usenet in particular was my outlet for sharing ideas and getting feedback.

      Not only that, but when the shit was going down it wasn't like anyone really had my back. I was basically left alone to be tormented, humiliated, and insulted. Why should I keep working on it for others when at the first sign of trouble they all turn around and run away. And that's hardly the first time I was left alone. When I was trying to get into univ [4-5 years ago]. I'd have univ prof's using the libraries, requesting features, using my materials, but they'd hardly lift a finger to help me out.

      Anyways, I can't see myself enjoying working on it anymore. And instead of becoming a self-loathing couch potato, I decide to focus my energies on something else positive in my life. I love the piano, always have, always will. Now that I'm not working on LT in my spare time I have all the time in the world to work on music. To me it's a nice trade, at the rate I'm going I'll be up there in skill level in a year or two and I'll really get a kick out of entertaining myself and others at the piano.

      blah blah blah ...

      --
      Someday, I'll have a real sig.
    24. Re:um? size? by Halo1 · · Score: 1

      'm not against Pascal as a language, I just question why we need yet another toolchain. Why not write a good pascal frontend for GCC and then take advantage of all the platforms they support + optimizers, etc. The optimizers in GCC are hardly language specific, most of them work on very abstract machine representations after the language has been compiled to an independent machine type.

      The main reason is that GCC is written in C, while Free Pascal is written in Pascal (it's self-compiling). All FPC developers are much more proficient and productive in developing in Pascal than developing in C (although most of them do know C as well). FPC also has a reasonably easy to understand OOP design for its code generator and parse tree and is still small enough so one single person can have a pretty good overview of the entire thing. The same cannot be said of GCC.

      As far as generic optimizers etc. are concerned, I've been thinking lately of adding a code generator backend which spits out LLVM code.

      Suppose I'm a developer in a company. We work with, say, crypto software, on a variety of embedded platforms [not all of which run Linux]. Please tell me why I should consider Pascal.
      The primary criterium is that there is a compiler available which supports your target platform. Because you're comfortable with the language and are more productive using it that when using C or another language. If you aren't, nor see anything that entices you to learn it, by all means stay away from it as far as you can because using a language you don't like at all will only reduce your productivity (and your enjoyment of programming).

      Or, suppose I've been dropped into a company with millions of dollars of existing software toolkits [all written in C]. Please tell me why we should port it all to Pascal?
      I don't think you should, it would be hell to port that much software from one language to another. You can easily use all of those from within (new) Pascal programs though, should you want to.

      Pascal is cool and all, but until I can be reasonably assured to find it everywhere, in a project [like GCC] that I can be assured will be here in 5 years, I can't really promote it in any of my projects.

      GCC has been around for 2 decades or so. It has scores of contributors from all walks of life and industry. Can you say the same for Free Pascal?

      As someone else mentioned, FPC has been around since 1993. Not quite as old as GCC, but it's still respectable imp. We don't have contributors from IBM, Apple, ARM etc. Most professional contributors to FPC work in small companies that used Delphi until now, and they mostly contribute patches to the component libraries rather than to the compiler.
      --
      Donate free food here
    25. Re:um? size? by Anonymous Coward · · Score: 0

      Computers have 1.6ghz processors so no worry about speed either.

      In fact in 2 years computers will have 150352Ghz processors that use more electricity than my 1500W heater and it will cost about $1/hour just for electricity for the JVM and .NET runtimes to spin along. I mean, my gas furnace motor uses less than 1000 watts just for the motor, why shouldn't the JVM and .NET be able to use 1000 watts just to pop the start menu up? Why waste all this wattage when you could be using it?

  26. 64-bit Windows by zdude255 · · Score: 5, Insightful

    Free Pascal is now the first and only free software compiler that targets 64-bit Windows.

    Sure, but then you have to write it in Pascal!

    1. Re:64-bit Windows by gatkinso · · Score: 1

      I would bet that it is written in Pascal.

      --
      I am very small, utmostly microscopic.
  27. um? size? Programming Viagra. by Anonymous Coward · · Score: 0

    "Don't get me wrong, I was a pascal whore when I was kid too. But let's face it. Everything [that matters] is written in C, C compilers are everywhere, and their optimizers are highly kick ass. I just don't see why FPC matters beyond being a nice hobby project to rekindle "the old days.""

    *sigh* There's always a C bigot in every language discussion. Everything that matters is written in different languages.

    "I just don't see why FPC matters beyond being a nice hobby project to rekindle "the old days."

    Bet you have the same problem with Fortran or Cobol too.

  28. Wizardry I by aeschenkarnos · · Score: 1

    Wizardry I was written in Apple Pascal. I'd love to see the source code for it, for nostalgic reasons.

  29. What? No 65816 support? by OrangeTide · · Score: 1

    How do you expect me to use Pascal on my Apple IIgs or port my games to Super Famicom?

    --
    “Common sense is not so common.” — Voltaire
  30. Pascal is alive and well in installers by melstav · · Score: 4, Informative

    InstallShield and InnoSetup installers contain PascalScript engines. InnoSetup is written using Delphi -- Pascal. I believe InstallShield is too, but it's been a while since I quit using InstallShield in favor of InnoSetup.

  31. What's the advantage? by afabbro · · Score: 1
    We have GNU Pascal. GNU binutils targets Win64. Ergo, we can already write Pascal for Win64, if we wanted to.

    What's the advantage of Free Pascal? Just curious, not being sarcastic...

    --
    Advice: on VPS providers
    1. Re:What's the advantage? by Anonymous Coward · · Score: 0

      GNU-Pascal doesn't support modern GCC versions, let alone Win64. Further, GNU-Pascal only supports platforms in theory. You can't download a GNU-Pascal for weird platform X. You would have to patch GCC with GNU Pascal patches and hope it will work in the end. In contrast you can download "up and running in 5 minutes" versions of Free Pascal of a hell of a lot of platforms.

      The Pascal dialects with major code bases in use are the Turbo Pascal dialect, the Delphi dialect and the Metrowerks dialect. GNU-Pascal has only limited support for these and focuses on the ISO Extended Pascal dialect, therefore it cannot compile many people their code.

  32. What's pascal like now? by bcrowell · · Score: 2, Interesting
    I did a fair amount of pascal programming in the 80's, and it seemed all right I guess, but IIRC there were some problems with the language:
    1. The standardized language was very small, so there was a tendency for it to fracture into many incompatible languages.
    2. At that time, the implementations represented a string as a length byte followed by the string data, so you were limited to strings of length 255.
    3. I don't think there was any (standard) way to defeat the strong typing in cases where you needed to.
    4. Was there garbage collection? If so, I don't recall it as being an idiomatic part of the language, except maybe for strings...? Well, most languages back then didn't have it (and gc's sucked back then, so gc languages tended to be slow), but today...
    5. I was always annoyed by the gotchas in the syntax -- the language seemed unnecessarily picky about periods and semicolons.
    Has any of this changed? Has modern pascal settled on a single standardized version of the language? Is gc easy, idiomatic, and consistently supported in libraries and language constructs? Is there good unicode support? It seems to me that today, if I wanted a typesafe language I'd use java, and if I wanted a language that compiled to native code I'd use C or OCaml.
    1. Re:What's pascal like now? by jma05 · · Score: 2, Informative

      > 1. The standardized language was very small, so there was a tendency for it to fracture into many incompatible languages.

      Small is relative. Pascal language is now Object Pascal. It is not a small language.

      > 2. At that time, the implementations represented a string as a length byte followed by the string data, so you were limited to strings of length 255.

      Delphi and FreePascal have PChar as well as AnsiString.

      > 3. I don't think there was any (standard) way to defeat the strong typing in cases where you needed to.

      Delphi and I believe FreePascal support the Variant data type (ala VB). So you do get weak typing when you need it. This is used for runtime COM and for cleanly interfacing with dynamic languages. Python for Delphi uses this with much success.

      > 4. Was there garbage collection? If so, I don't recall it as being an idiomatic part of the language, except maybe for strings...? Well, most languages back then didn't have it (and gc's sucked back then, so gc languages tended to be slow), but today...

      There are Pascals that target VMs (Java/.NET). In fact Delphi for .NET is just that.

      > 5. I was always annoyed by the gotchas in the syntax -- the language seemed unnecessarily picky about periods and semicolons.

      I would not call it a gotcha but needs a bit of getting used to for someone from a C/C++ background. That remains.

      > Has any of this changed? Has modern pascal settled on a single standardized version of the language?

      Borland's implementation is still considered the standard.

      > Is gc easy, idiomatic, and consistently supported in libraries and language constructs?

      Delphi for .NET is just as well integrated as C# and VB.NET are.

      > Is there good unicode support?

      I recall Delphi doing that quite well. Don't have much experience on that.

      > It seems to me that today, if I wanted a typesafe language I'd use java, and if I wanted a language that compiled to native code I'd use C or OCaml.

      Modern Pascal compares favorably with C++.

      It's not about the language per se. FreePascal and Delphi offer great tools and libraries for certain types of tasks. OCaml is great as a language but is still considered an academic language. It does not have great tools or a comprehensive community compared to Delphi. For building native high performance GUIs with good OS integration and plenty of functionality, Delphi remains to be the most productive way to go with thousands of drag and drop widgets - both free open source as well as commercial. Currently Delphi for Win32 is the only real option to build native GUIs for Windows since MS has steered its RAD tool development towards .NET. Lazarus has still ways to go but is usable now.

    2. Re:What's pascal like now? by NetCow · · Score: 1

      Just a small clarification (since strings are one of modern Pascal's strong points and bcrowell might not be aware of whan an AnsiString is): "Long" strings (AnsiStrings) in modern Pascal (i.e. FPC and Delphi) are nothing more and nothing less than reference counted and automatically garbage collected buffers, which makes them extremely powerful (and extremely handy).

  33. what about Oberon? by Epiphenomenon · · Score: 1

    Oberon is the grandchild of Pascal and way cooler. It's seriously a bondage&discipline language: http://www.oberon.ethz.ch/

  34. Yay by Y-Crate · · Score: 1

    this;

    is;

    great('news');

    SYNTAX ERROR: Missing " " after ";"

  35. Someone call Tim Sweeney! by Anonymous Coward · · Score: 0

    Now there's a definite possibility I'll have a working copy of ZZT on my GBA!

    Programming in ZZT-OOP is going to be a bitch without a keyboard, though.

  36. Dennis Ritchie on Pascal by Joce640k · · Score: 2, Informative

    http://www.lysator.liu.se/c/bwk-on-pascal.html

    I sincerely hope the language has been fixed since that was written...

    --
    No sig today...
    1. Re:Dennis Ritchie on Pascal by k8to · · Score: 2, Insightful

      Many of his points are about primordial pascal, which no one has really used during the entire time of its popularity (the 80s, mostly) and of course thereafter. However, the 'improved' pascals do not have a formal specification, which is a sad thing. Most people shoot for "tastes like borland", which I guess is at least fairly static now that they've given up on it.

      Some of the typing weirdness remains, although it is better hidden. Some of the cosmetic issues remain.

      Really the big problem with Free Pascal generation pascal is it is only better than C in some fairly academic ways, and a lot worse than C in some quite practical ways. There are far better minority language choices to be made for most tasks. Free Pascal is more of a "because it's fun" language that people choose because people used Borland pascal for those purposes historically, not really for any virtues of the language itself.

      --
      -josh
    2. Re:Dennis Ritchie on Pascal by Eli+Gottlieb · · Score: 1

      I dunno. "It has exceptions, native strings and OOP (and now generics with 2.2.0) without any of cryptic syntax, include nightmares, or behind-my-back implicit typecasts of C++" sounds pretty good to me.

    3. Re:Dennis Ritchie on Pascal by hey+hey+hey · · Score: 1

      Ummm, that is an article by Brian W. Kernighan, not Ritchie...

    4. Re:Dennis Ritchie on Pascal by Anonymous Coward · · Score: 0
    5. Re:Dennis Ritchie on Pascal by k8to · · Score: 1

      Exactly. It's a language almost the same as C/C++ with a very small number of improvements over C/C++.

      If you're going to ditch the advantages of ubiquity, you could switch to languages with much larger improvements.

      --
      -josh
    6. Re:Dennis Ritchie on Pascal by Eli+Gottlieb · · Score: 1

      Actually, the advantages are pretty big and the languages are rather different.

      Free Pascal has units -- an actual module system. Free Pascal objects all descend from TObject, making RTTI and just passing "an object" around a lot easier. Free Pascal does not suffer from multiple inheritance -- it uses interfaces instead. Free Pascal has native, reference-counted strings that save programmers humongous amounts of time otherwise spent on string allocation and deletion. Free Pascal's inline assembler is far easier to use than GCC inline ASM and integrates well with the Pascal code around it. Free Pascal defines its own standard libraries and even its own GUI libraries that work across something like a dozen platforms. Free Pascal has strong typing and does not require the use of pointers to handle an object instance -- we have references for that.

      Now what lack of ubiquity were you talking about? Object Pascal was a fairly common industrial language until Borland started raping Delphi, and Free Pascal Compiler will target most platforms I've ever thought of working on (and some I haven't).

    7. Re:Dennis Ritchie on Pascal by k8to · · Score: 1

      This is still just a statically typed, medium-complexity type system, with procedural style. It's algol wearing a funny hat with a few convenience features.

      Sure, it's a slightly better algol wearing a funny hat, but if you want algol, C is the dominant language. If you want a "more pleasant C" then there's the obvious D which has *much* higher compatability. If you want a language that offers true advancements in maintainability and reliability then you should look at a non-algol language which a proven track record.

      --
      -josh
  37. Explanation of VistA by tepples · · Score: 2, Informative

    For those who can't tell VistA from Windows Vista, VistA (notice final capital letter) is the electronic health record system used by veterans' hospitals under the United States Department of Veterans Affairs. VistA CPRS is its GUI front end.

  38. Is it bad.... by Anonymous Coward · · Score: 0

    Is it bad that I looked at my RSS feed for this seeing the "2.2" part first, and I thought it was the WoW 2.2 patch?

  39. Yes, it is DOOMed! by Anonymous Coward · · Score: 0

    Because the roguelike game "doomrl" was in fact written in FreePascal!
    Now if only he'd finish coding and release the src code so I can compile it on my Unix platform of choice...

  40. Re:[ac]For some definition of the word 'free' by everphilski · · Score: 1

    Windows Forms? no... but prettymuch everything else does. I use it as a scripting language to write tools, not pretty GUI's :)

  41. increasing the programmer comfort. by Omega1045 · · Score: 1

    increasing the programmer comfort. I do not get this statement. What the heck does anyting in this article have to do with my comfort? Since this is a compiler, do you speak of my comfort at compile time? That would be helped by code that is better checked at compile time. Errrr! Not Pascal! You need a managed language like Java or C#. I understand that there is a .Net Pascal out there, but this announcement just does not interest me. It is 2007, not 1997! We are building big, complex systems with our software, and we need languages that are type safe and can help achieve more predictable results than C++. WTF does this have to do with that?

    --

    Great ideas often receive violent opposition from mediocre minds. - Albert Einstein

    1. Re:increasing the programmer comfort. by Eli+Gottlieb · · Score: 1

      You have confused two different issues. Managed languages perform extra run-time checks that non-managed languages do not. Free Pascal, being a Pascal, will still apply far more bondage-and-discipline type safety than you'll ever find in C or C++ unless you, the programmer, explicitly typecast your data.

  42. MS 64-bit SDK still comes with a "free" compiler by Anonymous Coward · · Score: 0

    MS 64-bit SDK still comes with a "free" compiler and other tools. This is the amd64 64-bit world. The SDK is free for the download. It is the identical 64-bit compiler that comes in the $2500 Visual Studio package (cmd line compiler & tools). Of course that can't compete with a PASCAL compiler. Woooah!! Kahn, the father of pascal as you know it. is dig ginghis stinkin' corpse from his grave as I write.

  43. Secure p-code by CustomDesigned · · Score: 1

    I used P-code also, and other ancient virtual machines from the '60s. IMHO, however, the key feature of the Java virtual machine is the ability to create a secure sandbox for arbitrary p-code. The byte-code verifier allows maintaining the security even when compiling to native code. I don't know whether Java was the first with these features (and I seem to recall a similar verifier for some other obscure language), but it has succeeded in becoming the first widely used language with such features. As I recall, a subset of Java was even proved secure (in that you couldn't escape the VM semantics). Naturally, JNI libraries are necessary to do anything useful (like IO), and every JNI library is a potential security hole (as is every SecurityManager method). But at least Java VM security narrows the areas of concern.

  44. Object code efficiency by jgs · · Score: 1

    Years ago (early 90's maybe?) I remember reading a paper about an empirical study -- as opposed to unsupported but vehement opinions -- of the relative efficiency of Pascal and C object code. As I recall, the conclusion was that Pascal fared better, because Pascal's strong typing and other semantic clues make it an easier target for an optimizer.

    Anyone remember the paper, and have a pointer to it? The requisite five minutes with google haven't been successful for me.

  45. I think the real question is... by BradfordW · · Score: 1

    Free Pascal/CGI vs. RoR vs. PHP5 vs. CakePHP? Am I right? I said am I right, folks?

  46. Not QUITE what you are looking for, but good... by Anonymous Coward · · Score: 1, Informative

    "Anyone remember the paper, and have a pointer to it?" - by jgs (245596) on Monday September 10, @10:51PM (#20548157) What turned me into a Delphi fan, when I was a VB & VC++ user bigtime on the job:

    Visual Basic Programmer's Journal, issue 1997, oct. "Inside the VB5 Compiler engine"...

    That's where Microsoft's VB5, & VC++5.x got the shit kicked out of them on 7-10 tests by Borland Delphi 2.0!

    (& most importantly, on math & strings processing, which every program does. Delphi won by HUGE margins on those (like 2.6x as fast iirc) & only lost to VC++ on form paints (by NOT that big of margins as it won by & text form loads))

    The rest went almost across the boards to Delphi 2.0 vs. those 2 MS products.

    Well - VB won 1 area over BOTH MSVC++ 5.x & even Delphi 2.0 was ActiveX form loads (which it is/was (since the VB5/6 line just died a year or so back) HEAVILY oriented to)...

    There you go: One documented proof in publication in a competing trade journal's pages no less, where Delphi (object pascal 7 engines based) did in BOTH VB & VC++...

    APK

    P.S.=> & on std. single executable design Win32 PE format executables - fastest thing under the sun, especially when compiled with a good optimizing compiler (which Delphi has, best there is no less proven above as so vs. its major competitors) & inlined assembly + hand optimization techniques, & good error trapping on a coder's part... apk
  47. Re:MS 64-bit SDK still comes with a "free" compile by movdqa · · Score: 1

    That's what I thought too. Just download and install the PSDK. Perhaps it also works with VS2005 Express Edition (free too) for the Visual Studio environment. I have VS2005 Pro but used to build x64 applications with the PSDK.

  48. I loved Apple Pascal by Weaselmancer · · Score: 1

    I had only written in basic up until then. Losing the line numbers and gotos was like having a light shine down from heaven.

    I will always think fondly of Pascal. To this day, whenever I'm writing in C, when I see an opening brace I think "begin". When I see a close brace I think "end".

    --
    Weaselmancer
    rediculous.
  49. Mod parent up by chefmonkey · · Score: 1

    Bravo.

  50. A Valuable Resource by MacDaffy · · Score: 4, Informative

    Bill Catambay has done yeoman work in keeping the Pascal spark alive in all its flavors. For those of you who are nostalgic, curious, desperate, eager to find a centralized repository for mockery, or want to try one of the easiest, most powerful tools you've ever used, visit Pascal Central. Tools, compilers, source code, links, Bill's article on the reasons Pascal is still relevant (which I helped edit), and a community of people ready, willing, and able to get those of you interested in giving the language another look (or a first look) a lot of help and support.

    If you want power, readability, a maintainable code base, easier string-handling, no-brainer memory management, and an elegant "No-BS" language, try Pascal. It has survived this long for a reason.

  51. Our high school used Instant Pascal... by Octopus · · Score: 1

    on the Apple //e's in our computer lab in the mid 80's. Those were great classes, but of course I never used Pascal again. I admit it was more interesting than Basic.

    I think part of the appeal was that the original Wizardry was written in Pascal. Then when I graduated I got trained on an answering service system (based on PCs) that was also written in Pascal.

  52. Classic Pascal != Borland Pascal by DragonHawk · · Score: 2, Interesting

    Actually, it's fairly well known to suck as a learning language. Or at least some people think so.

    It's worth pointing out that most, if not all, of the objections in Kernighan's famous essay do not apply to Borland's Pascal dialect.

    --

    dragonhawk@iname.microsoft.com
    I do not like Microsoft. Remove them from my email address.
  53. Pascal is like a classic car by DragonHawk · · Score: 1

    I view Turbo/Object Pascal the same way a lot of people view a classic car: It may have been eclipsed by more modern technology, but it still has a certain elegance and appeal to those who knew it in its heyday. Sure, the latest cars have electronic fuel injection and engine monitors and other advanced technology, but there's still nothing like working on a classic engine. It's nostalgia, yes, but good stuff, still.

    END. (* PROGRAM *)

    --

    dragonhawk@iname.microsoft.com
    I do not like Microsoft. Remove them from my email address.
    1. Re:Pascal is like a classic car by bobcat7677 · · Score: 1

      It goes way beyond nostalgia for me. Pascal(Delphi 8) apps are just plain way more efficient and stable most the time then .NET for doing the same thing. The ONLY reason I write C#.NET and VB.NET code is because our clients demand it. For most tasks, I could accomplish the same thing in 1/4 the coding time and produce a much more stable product that has a substantially smaller binary deliverable. Oh, and not to mention not needing to make sure a 80 or 100MB "framework" is installed on the box before you can run it! Delphi went into hibernation because Borland charged too much for it and then couldn't afford to keep updating it because people weren't buying. I haven't tried the new Delphi.NET, but I would imagine it's lost most of its advantages now being married to the cumbersome .NET framework.

  54. It is still useful. by Stu101 · · Score: 1

    I had to write a small program to create some special text files a few weeks ago. It was easy to write it in 20 mins, compiled and runs on any dos based machine. Means I could just run the exe anywhere on any system and it would just work. No special runtimes or funky dll files. It just did the job i asked.

    Rock on pascal!

    --
    http://www.writeitfor.us - Writing IT for the IT generation.
  55. From Pascal to Seed7 by Thomas+Mertes · · Score: 1

    I learned Pascal at the university in 1980. It was my second language
    after BASIC. For a lot of years I was a big fan of Pascal.

    Missing features of Pascal (and other programming languages)
    lead me to the idea of an extensible programming lanuage.
    For my diploma thesis (and later the dissertation) I wrote a
    preprocessor in Pascal which produced Pascal code as output.
    The preprocessor should provide an implementation for my
    extensible programming language MASTER. As it showed, Pascal
    is not a good target language. The portability of Pascal programs
    was also bad at that time. Because of this reasons the
    implementation of Seed7 (which is a successor of MASTER) uses
    C as implementation and target language. I still think that the
    basic ideas of Pascal are great. This is clear when you look at
    Seed7:
    The statements are like in Pascal/Modula2, everything must be
    declared and the Seed7 interpreter uses one pass to read the
    program. The Seed7 compiler compiles to C which compiles to
    native code. Other features try to extend the possibilitys like:
    Declaring new operators, statements, templates, abstract data
    types, object orientation, multiple dispatch, and so on.
    If someone likes Pascal he would probably like Seed7 too.

    Greetings Thomas Mertes

    Seed7 Homepage: http://seed7.sourceforge.net/
    Seed7 - The extensible programming language: User defined statements
    and operators, abstract data types, templates without special
    syntax, OO with interfaces and multiple dispatch.

  56. How's the circle jerk? by andreyw · · Score: 0, Flamebait

    There is one Free Software and RMS is it's prophet!

    *fires AK round in air* Slay the infidels who insult the high and mighty FSF. GNU will DOMINATE the WORLD!

  57. Pixel by Mahenda · · Score: 1

    Did you guys know, Pixel image editor is written using this FreePascal compiler? Well there's some C and assembler used, but still perfect example: http://www.kanzelsberger.com/

    --
    Photoshop for Linux? Wine? No. http://www.kanzelsberger.com
  58. UNISA by smchris · · Score: 1

    Unless I'm mistaken I believe Free Pascal is still used at the University of South Africa for it's first programming course. A great way to save students money.

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

      ...and guarantees that few if any will ever apply for work visa in the US.

  59. orphaned Delphi code? by Anonymous Coward · · Score: 0

    I wonder how much orphaned legacy Delphi code there is out there looking for a support route.
    How can there be orphaned legacy Delphi code if the current version of Delphi (Delphi 2007 aka Delphi 11) still supports everything back to Turbo Pascal?
    1. Re:orphaned Delphi code? by marcovje · · Score: 1

      Well, read the manifest. If you need a bit of memory for instance :-)

      (not to speak of Kylix. Though I still think that Kylix demise says more about Linux than Kylix. The product was not perfect, but way better than any competition (including FPC/lazarus at the time, and I love them))

    2. Re:orphaned Delphi code? by kryptkpr · · Score: 1

      How can there be orphaned legacy Delphi code if the current version of Delphi (Delphi 2007 aka Delphi 11) still supports everything back to Turbo Pascal?

      I have several projects stuck on Delphi 7 because a lot of third-party components don't work anymore under the .NET monstrosity which is the new versions of Delphi. Not to mention we went from an environment that could generate 200-300k stand-alone executables to requiring 30mb of runtime..

      Now I will admit I haven't yet tried Delphi 11, but my experiences with 8 and 9 were so painful I just gave up on even trying to port my software over.

      --
      DJ kRYPT's Free MP3s!
  60. Two Classics by Anonymous Coward · · Score: 0

    Daniel Mantione and ScuttleMonkey: write those names down right away. Two of teh biggest, most classic frigtards on teh Web.

    1. Re:Two Classics by marcovje · · Score: 1

      [sarcasm]
      Yeah, while Anonymous Coward is one of the most respected posting persons (by far the most) on Slashdot!
      [/sarcasm]

  61. It's the char type that killed Pascal ... by tjstork · · Score: 1

    I seem to remember that in Pascal, in order to pass a string from one function to another, they had to be declared to be of the same length. That was back in Turbo Pascal for DOS days, and maybe they fixed that up by then.

    --
    This is my sig.
    1. Re:It's the char type that killed Pascal ... by Haeleth · · Score: 1

      I seem to remember that in Pascal, in order to pass a string from one function to another, they had to be declared to be of the same length. That was back in Turbo Pascal for DOS days, and maybe they fixed that up by then.
      Yeah, that's ancient history. Delphi had pretty nice string handling - arbitrary length, with automatic memory management (reference counting, copy-on-write). Not perfect, but convenient enough.

      Haven't used it for years now, but I still remember Delphi fondly as the language that rescued me from the evil clutches of Visual Basic and led me onto the True Path of Real Programming.
  62. Re:Linus is right by marcovje · · Score: 0, Offtopic

    You know what free software means don't you?

      "Free from GNU"

    That is not as ethereal as you'd expect. GNU is getting an awful lot of power. And no, that is not because of the GPL. (v2/v3)

    It is because the grunts doing work on GNU projects sign their copyrights away to the GNU politbureau. Who get an awful lot of power this way.

  63. I am so glad... by EricTheGreen · · Score: 1

    the GGP post didn't mention onomatopoeia...

    1. Re:I am so glad... by Nazlfrag · · Score: 1

      EricTheGreen, keen, lean and mean, cleans machines supreme, gleans obscene fiends
      GGP was whimsical, so it's time to get rhythmical, forget the political just chill to the pacifical
      Didn't they mention, I'm in main contention, onomatopoeia retention is at maximum affection
      I'm a smartarse, loudmouth rude uncouth bastard, so dont mind my darstardly ways,
      just gaze into the future my friend, time isn't at an end, it forever extends.

  64. Ada is what you want by pinkfloydhomer · · Score: 1

    If I wanted what you describe, I would pick Ada. It is much better than Pascal in all regards, and it has a good real-world implementation that uses a good back-end (gnat->gcc). /David

    1. Re:Ada is what you want by arth1 · · Score: 1

      Where's the byte code compiler and interpreter for Ada?

    2. Re:Ada is what you want by pinkfloydhomer · · Score: 1

      There is A#, for example. For CLR/Mono. Maybe there are similar solutions for the JVM. /David

  65. I wrote this in Free Pascal by shihonage · · Score: 1

    http://youtube.com/watch?v=4BORxQ7L2BU/ Free Pascal kicks ass when it comes to cutting-edge textmode lightsourcing and particle effects.

    1. Re:I wrote this in Free Pascal by shihonage · · Score: 1

      Er, it was supposed to be http://youtube.com/watch?v=4BORxQ7L2BU

  66. Pascal ompiles FAST by gatkinso · · Score: 1

    Even leaves Java in the dust.

    Maybe a little thing - but man I like that.... C++ has worn me down this way.

    --
    I am very small, utmostly microscopic.
  67. finally, pascal by icepick72 · · Score: 1

    1980 called and it wants its headline back

  68. free, as in by Joseph_Daniel_Zukige · · Score: 1

    hmm.

    Free, as in the banana in that box you see over there, monkey.

    Yeah, that's right, just put your hand in that little gap between the bars. Just big enough for your hand. No, no, don't worry about whether it'll be big enough for your hand when it's holding the banana. Nothing to worry about at all.

    Besides, when we come to help you, we'll give you a whole bunch of bananas and a nice little cage to ride in.

  69. CGI/Powtils by Anonymous Coward · · Score: 0

    yes, see Powtils for that: http://www.google.com/search?q=powtils

  70. It's a nice language by maz2331 · · Score: 1

    Really, I can do anything in Pascal that I can in C/C++, just differently. I like the more "rigorous structure" and cleaner syntax of Pascal - if it compiles, it probably will run too. I find a bit smaller bug count in Pascal code than in C. Maybe just because it makes me settle down a bit and put variable declarations and stuff together in a VAR block instead of accidentally just declaring them where I think it's needed like you can do in C, so scope problems are reduced.

    And Pascal is a wee bit nicer for string handling.

  71. Re:Linus is right by L505 · · Score: 1

    The grunts behind freepascal decided to release freepascal under the GNU license. Irony?

  72. Re:php owns ruby on rails by L505 · · Score: 1

    ohp does not pwn