35

You have to wonder why our retarded education system still forces students to learn Pascal(Delphi)... 2nd most hated language in the world... I am learning this stinky pile of shit right now because I have my school-leaving exams from it tomorrow but oh man the pain...

Comments
  • 3
    That's a handy graph! Mind sharing the link so I can refer to it when I'm sitting around wondering what my next language should be?
  • 1
  • 1
    @D3add3d
    Thanks!!
  • 1
    @coolq between C# and ruby is where the line is XD everything under that line is "ok", everything above the line could be summarized as "run, run for your life!"
  • 0
    @D3add3d
    Haha true! Though if it were me I'd have it at Ruby. Poor old Perl!
  • 1
    @leksyib well... I am not at a university... yet

    I got accepted to one tho :D

    edit: actually, make that 4
  • 0
    There's a lot of shit (banks and govt) using Pascal and Fortran. Depressing but true.
  • 1
    @JRobFM fortran I can understand because, you know... legacy and all that shit... but Pascal? PASCAL? It's made for teaching "programming", not for applications in critical infrastructure!
  • 1
    I feel more for those pore soles who has to learn Java.
  • 0
    @krister-alm why? (Java dev here)
  • 1
    @d3add3d. Your guess is as good as mine. Lots of why's to be asked... Why are crappy outdated Citrix terminals still popular? Why do printer manufacturers still lag on Linux drivers? Why Windows?.... Why?! 😂
  • 1
    @JRobFM weeelll... I actually got my printer working on linux by installing hplip and it works sooooo much better than foo2zjs, so official drivers go!
  • 0
    @d3add3d yeah. Lexmark Pro915 all in one is a bear. #techonabudget
  • 1
    Object Pascal (including Delphi and FreePascal) is really no bad language. And it's great for teaching. The problem here is, as it is very often in schools and universities, that they teach damn old versions of it. You wouldn't be happier if they'd use C# with Visual Studio 2005.
    So this seems to be the reason for all the hate: They teach them ten, fifteen, twenty years old Delphi, and not even good one, and the students leave school believing old Pascal would be the same as modern Object Pascal languages. But they aren't.
    The current Delphi version or the Free Pascal compiler are in no way inferior to any other modern language. Quite the opposite, because it is natively compiled, very flexibel and structured it's nearly as powerful as C++ while being as comfortable as C# and as readable as Python.
    Yes, I love Object Pascal and use it everywhere where it's useful. (Small hint: That's the case for a lot of times.)
    Believe me, having a look at it and see it for yourself is worth it.
  • 0
    @Benedikt no, it's just shit, they teach the lazarus/freepascal version at our school and I still think it's shit....

    The following is not directed at you but Pascal and it's developers in general:

    begin end; - NO! JUST NO! Declaring variables at the beginning? FUCK YOU! {comment} - You just really want to watch the world burn, don't you? The naming scheme looks like some fucking donkey ate it, shit it out and then someone stepped in it. =: to assign a variable and = to compare - I might need to pour bleach into my eyes after seeing that....

    Pascal is just one fucking ugly, stinky abomination.

    Java on the other hand... <3 :3
  • 2
    @D3add3d Look, I see it the other way around:

    Begin and end are more readable than brackets, it fits well into the reading flow of the Pascal syntax.

    Declaring variables at the beginning is strict, it forces you to work structured. Yes, it's not always the most comfortable way (especially in for loops), but most of the time this kind of work minimises possible errors and is clear to read.

    Besides the fact that the naming scheme is optional, it's very useful. Start types with T, parameters with A, fields with F, interfaces with I and you never have to look what you are handling or in which scope it is. This goes so far that I tend to use it in other languages, too.

    Using := for assignments and = is the mathematical correct way of doing this. = as assignment is simply incorrect and == for comparison very ugly in my eyes.

    Java... I see few reasons why one should choose Java instead of Free Pascal. And I fear that all your reasons are very emotional/subjective.
  • 0
    @Benedikt No..
    var
    s:Integer;

    is just wrong on so many levels...
    or
    for i := 1 to 5 do
    begin
    { some code }
    end;

    🤢

    Tell you what... Change my mind, do this in Pascal:
    for(int i = 0; i < n; i += 3) {
    // some code
    }
    List<SomeObjectType> someList = someArray
    .stream()
    .filter(t -> t.someFunction() > 5)
    .sorted(comparing(SomeArray::someOtherFunction).reversed())
    .map(SomeArray::getSomeObject)
    .collect(toList());
  • 0
    @Benedikt oh yeah, forgot the reasons:
    - write once, run everywhere
    - excellent tools and IDEs
    - very easily debugged (most of the time you don't even have to run the debugger, the stacktrace is enough)
    - OOP by design (not an afterthought like Pascal), everything is an object! (unless it's a boolean, byte, char, short, int, long, float or double - most of which also have an OOP counterpart :D, like Integer, or Byte, or Float...)
    - abstraction! You can abstract something to the Moon and back :D Break stuff into as many pieces, as abstract as you want
    - Did I mention it also runs in browsers and on servers?! (servlets, applets and all that fun stuff)
    - Annotations
    - Lambda expressions
    - Stream API
    - Optionals

    Edit: Forgot the mandatory "3 Billion Devices Run Java" 😁
  • 1
    Object pascal was my nr1 programing launguage. It is good for begginers i think. I was lost in this proggraming world thats why i picked this random launguage from random internet place... Lazurus is free editor used for this laung. i discovered it only recently (before i abandoned pascal for C long long ago). I used delphi 2007 before :p
  • 1
    @D3add3d I like Java almost as much as you seem to, but applets were already a bad idea 10 years ago - nowadays, they're a capital offense.
  • 3
    @D3add3d That's easy:

    while i < n do
    begin
    //some code
    i += 3; //Or (for Delphi): Inc(i, 3);
    end;

    and:

    type
    TSomeList = specialize TList<TSomeObjectType>; //In Delphi without the "specialize".

    SomeList := TSomeList.Create;
    SomeList.AddRange(SomeArray);

    for i := SomeList.Count - 1 downto 0 do
    begin
    if SomeList[i].SomeFunction <= 5 then
    SomeList.Delete(i);
    SomeList[i] := SomeList[i].GetSomeObject;
    end;

    SomeList.Sort(TSomeObjectType.SomeOtherFunction);
    SomeList.Reverse;

    Alternatively for the last two lines something like:
    SomeList.Sort(TSomeObjectType.ComparerReversed);

    This is much more readable and understandable than your Java code. You don't want to maintain a million line project in Java, believe me, but in FreePascal or Delphi it's pleasant.
  • 2
    @D3add3d

    For the reasons:

    - "write once, compile (for) anywhere" is the motto of Lazarus and FreePascal's design philosophy. Native code on dozens of platforms, easily (cross-)compiled. No need for the overhead of the absurd virtual machine.

    - FreePascal has excellent tools and IDEs, too. I think, most languages have. And a lot aren't bind to a single IDE or editor (neither do Java).

    The Delphi IDE is great, Lazarus is good (with CodeTyphon improvements it's much better) and I like writing with VS Code.

    - Object Pascal supports all features of OOP. I really don't like that you are forced to use it in Java. "Everything is a class" is no good thing, it's overhead you don't every need. Sometimes a simple procedure is all you want.

    - Abstraction is no feature of the language but of the programming style. You can abstract in most languages as much as you can in Java, so you can do in Object Pascal languages.

    You really call Java in the browser a good thing?

    And so on.
  • 1
    @franga2000 sush, I said it just to have more arguments 😂
  • 1
    @D3add3d And 2.98 billions of those lay at the city dump.
  • 0
    @krister-alm ummm there are 2 billion active android devices sooo... Nope :)
  • 2
    I think it represents a detestable cliché to go around repeating that Object Pascal is a dead language and fallen into oblivion; it is almost unforgivable for a developer to shout from the rooftops against any of the programming languages ​​created ... each one has its peculiarities and bonanzas. Object Pascal has more than proven itself not only to be a magnificent language, but to surpass others that have been better accepted in many respects, perhaps because of following a "fashion" imposed by universities or due to market and multinational imposition issues. Long live Pascal in particular, and long live also (why not?) All those programming languages ​​that make life a little better for us.
Add Comment