News for hackers. Stuff that matters.
Re:Things That Turbo Pascal Is Smaller Than (2011) by geophile on Saturday April 11, 2020 @04:03PM (#22843821)
Turbo Pascal was an IDE and a blazingly fast compiler. In 1986, I ran it on my 64k IBM PC (8088 4MHz). It was like nothing else I had experienced previously. Prior to that, I had developed software in grad school on punch cards. I occasionally had access to a PDP-11. I don't remember what editor I used, but it certainly wasn't an IDE. It may have been line-oriented. At work, we had a VMS system, and I had access to a C compiler and my first emacs. Not too bad, but nothing as immediate and responsive as Turbo Pascal.

Viewed another way, Turbo Pascal recaptured the incredibly rapid edit/run cycle that I first experienced with a PDP-8M running BASIC. Only now, I had 64k instead of my shared of 12k shared among a maximum of four users, an IDE instead of a line editor, and a far better language.

Turbo Pascal also blew away anything else available on the PC. I had a C compiler from Microsoft that was far more expensive and far slower.

Turbo Pascal was a truly magical piece of software. I remember that I had some initial skepticism about it. As I recall, it took some liberties with the language. But once I finally used it, I was instantly converted.

IMHO, nothing has quite captured that experience of development until IntelliJ, starting with 4.x or 5.x.

Re:Things That Turbo Pascal Is Smaller Than (2011) by analognoise on Saturday April 11, 2020 @04:10PM (#22843860)
Lazarus/FreePascal?

There's a dedicated group of troopers who have kept the flame alive. It's cross platform. There's an Android port in progress. There's a JavaScript backend. The IDE is like all the good things about Delphi 7, none of the drawbacks.

Re:Things That Turbo Pascal Is Smaller Than (2011) by themodelplumber on Saturday April 11, 2020 @05:12PM (#22844293)
Yes! I use it and really enjoy it so far. There are obviously some people using it for _very_ advanced work in medicine and the sciences, to see some of the community posts and shared libraries... Personally I think I'm building yet another text editor (starting with a text viewer) but the experience has been great.

The community is really a nice bonus, too.

Re:Things That Turbo Pascal Is Smaller Than (2011) by brnt on Saturday April 11, 2020 @05:31PM (#22844413)
Where does that community hang out? I find it very difficult to find Pascal projects on Github for instance.
Re:Things That Turbo Pascal Is Smaller Than (2011) by superdisk on Saturday April 11, 2020 @11:49PM (#22845930)
Definitely the Lazarus Forum as others have noted. In my opinion, it's a really delightful time capsule of how internet communities used to be before Facebook/Reddit. Insanely helpful and knowledgeable members that will answer any question, a bunch of eccentric characters, plenty of n00bs asking mundane questions, and the compiler developers themselves. Probably my favorite language ecosystem.

https://forum.lazarus.freepascal.org/index.php

Re:Things That Turbo Pascal Is Smaller Than (2011) by brnt on Sunday April 12, 2020 @03:42AM (#22846635)
That's the only resource I could find too, but few linked repos of complete or modern projects, or am I missing something?

Github has some repos but mostly dumps of old Delphi projects, not really a great resource.

Re:Things That Turbo Pascal Is Smaller Than (2011) by FpUser on Saturday April 11, 2020 @06:47PM (#22844789)
All you have to do is enter delphi in search box of github and you get whole pile of projects. Alternatively you can enter pascal instead of delphi. this agail will get you pile of projects albeit smaller. If that is difficult I am not sure what easy is.
Re:Things That Turbo Pascal Is Smaller Than (2011) by nick_meister on Sunday April 12, 2020 @08:54AM (#22847932)
I agree with brnt, while Delphi/Object Pascal seem to be quite popular according to the Tiobe Index, https://www.tiobe.com/tiobe-index/delphi-object-pascal/, I find it hard to find open-source projects when comparing it with other programming langs. Example:

  https://github.com/search?q=Rust 85,885 repository results  
 
  https://github.com/search?q=delphi 9,938  

  https://github.com/search?q=pascal 9,259
Maybe:

* Open source Delphi/Pascal are shared elsewhere?

* Delphi Programmers do not like to showcase or open-source their projects?

* Delphi/Pascal is used to create mainly proprietary software?

Either way, I think that for Free Pascal to prosper in the long term, something should change. Perhaps more open source projects published on Github/Gitlab.

Re:Things That Turbo Pascal Is Smaller Than (2011) by FpUser on Sunday April 12, 2020 @04:10PM (#22850703)
FreePascal/Delphi are used by large number of developers. I do not think there is a need for them to prosper in a sense of high Tiobe index. There are way more obscure languages some pretty big companies are using for their internal stuff without much ado about popularity.

You are confusing "hard to find" with "less". There is way less projects on github (the original question specifically mentioned github). However 9,000 is still a big number and one can find virtually anything needed from a practical standpoint. On top of that both delphi and lazarus come with huge system libraries.

C++ for example dwarfs delphi on github. However when I am doing C++ I am looking for very few projects in very specific areas (network, file management, db connectivity etc). Suddenly your choice becomes not that big when you separate all the noise.

Also whole bunch of delphi projects are located elsewhere due to various reasons. Hence my advice to ask Google.

Finally delphi projects tend to be rather large and high quality, check this one for example: https://github.com/BeRo1985/pasvulkan or other repos from the same guy.

Re:Things That Turbo Pascal Is Smaller Than (2011) by benibela on Monday April 13, 2020 @10:12AM (#22855968)
It is elsewhere:

    https://sourceforge.net/directory/?q=rust              27    programs

    https://sourceforge.net/directory/?q=pascal            2268
Re:Things That Turbo Pascal Is Smaller Than (2011) by brnt on Saturday April 11, 2020 @07:20PM (#22844941)
Its a very small set you find that way...
Re:Things That Turbo Pascal Is Smaller Than (2011) by FpUser on Saturday April 11, 2020 @07:27PM (#22844976)
shows 6000 entries for me. there is also that thing called google.
Re:Things That Turbo Pascal Is Smaller Than (2011) by brnt on Sunday April 12, 2020 @02:03AM (#22846352)
Im beginning to see that welcoming community I think!
Re:Things That Turbo Pascal Is Smaller Than (2011) by FpUser on Sunday April 12, 2020 @07:10AM (#22847413)
Even though I was using Turbo Pascal/Delphi/Lazarus since 80's I am not really part of community. I do not think you'll find a single post of mine. So do not take me as an example.

I have to admit being a prick in this particular matter. Not being able to find subject when search on Google, Githab etc reveals a ton of info I think says something.

One extra thing. I do use Linux and find it very useful. Do I need to abandon it because Linus is not a shining example of polite person?

Re:Things That Turbo Pascal Is Smaller Than (2011) by brnt on Sunday April 12, 2020 @09:45AM (#22848205)
I think on here you can safely assume I have tried to Google, and do a codesearch on Github. Like another poster shows, certianly comparatively, you won't find much. That which I did find is nearly always Delphi (which does not translate to Freepascal, the only platform that would be interesting now I'd say). Very few complete and modern(-ish) repo's, rather than someone throwing their 15 year old Delphi project online.

I've done some Pascal coding, and this lack of libraries or projects is for me a practical impediment. Freepascal (and Delphi) come with very complete stdlibs (if they are called that), but I'd not be satisfied with merely Python's stdlib either. On top of that, string handling is imho very uncomfortable in Pascal, feels like nothing changed much in 20 years. I found a recent Freepascal university course, but source files with 10kLoC do not make it helpful to get started.

So, while the Freepascal forums seem helpful, it's a meager resource if that's basically all the community is.

Re:Things That Turbo Pascal Is Smaller Than (2011) by themodelplumber on Saturday April 11, 2020 @06:55PM (#22844829)
Last week I saw that kind of content on freshcode.club as well as at least one of the Facebook groups.
Re:Things That Turbo Pascal Is Smaller Than (2011) by analognoise on Saturday April 11, 2020 @09:35PM (#22845472)
The Lazarus forums! They're great; wonderful community of people who are really great.
Re:Things That Turbo Pascal Is Smaller Than (2011) by unnouinceput on Saturday April 11, 2020 @06:26PM (#22844697)
I don't. Whoever thought recompiling Lazarus whenever you need to simply add another component to its pallet really lost the spirit of Pascal/Delphi on that one.
Re:Things That Turbo Pascal Is Smaller Than (2011) by badsectoracula on Sunday April 12, 2020 @08:10AM (#22847692)
It was done because of technical limitations - the compiler didn't support dynamic packages (collections of dynamic libraries). This was again due to technical limitations from the compiler having to work in multiple OSes (i'm not 100% sure on the detail) and how they share and export symbols from dynamic libraries, something that Delphi didn't have to since it only had to work with Windows and only with their own libraries. FPC and Lazarus are also technically separate projects with their own release schedules and Lazarus has to work with multiple versions of FPC that make things a bit harder. This made introducing dynamic packages very hard... and since there wasn't much of a benefit for most uses (recompiling Lazarus is almost instant after the first compile and even that takes less than a minute even on old hardware), it wasn't something that FPC developers focused on much.

Having said that, the next version of FPC will support dynamic packages. They had to change some things in how RTTI is stored, apparently, to accommodate the OS differences (this may break some programs that use the RTTI structures directly, though the fix is trivial and 99.999% of programs wont be affected - even some of my own code that does touch RTTI directly works fine in both the latest stable version and the development version).

However chances are Lazarus will still keep using the recompile approach for some time since it'll need to work with FPC 3.0.x... and also it will take some time to update all packages to work dynamically.

Anyway, what i'm trying to say, this was done due to technical issues and compiler limitations due to what FPC and Lazarus have to support and remained an issue for a long time because in practice it didn't make much of a difference. However it will soon be solved.

Re:Things That Turbo Pascal Is Smaller Than (2011) by unnouinceput on Sunday April 12, 2020 @02:16PM (#22850017)
" Delphi didn't have to since it only had to work with Windows and only with their own libraries"

Delphi has for some years the possibility to work on more then just Windows, and still is a breeze, regardless if I targeting Android or Windows, to just "here is the package, put the component on palette" with just 2 clicks.

I really hope Lazarus will come home, like you say, with this, since Delphi is not targeting ARM in Linux, while Lazarus does. We'll see what future holds, as I have no problem using one or the other as long as the compiled project works on its intended target. Also regarding RPI, I can just install Android on RPI4 and Delphi will have no problem targeting that

Re:Things That Turbo Pascal Is Smaller Than (2011) by badsectoracula on Sunday April 12, 2020 @02:32PM (#22850123)
AFAIK Delphi on non-Windows is very different than Delphi on Windows, exactly because of issues (and AFAIK it even used FPC for a little for non-Windows targets, though this was eventually replaced with their own code when they started using LLVM). They were perfectly fine with having differences between platforms at the core level, however this wasn't what FPC developers or Lazarus developers wanted - in general they try to have things operate as similar to all OSes as possible and they also support way more targets than Delphi, which complicates things.

In any case i was referring to Delphi in general from the start. Delphi had support for dynamic packages since version 1, but for decades they only supported Windows. FPC on the other hand had support for multiple OSes before even version 1.0 was released.

TBH i do not remember the exact details, but IIRC it had to do with memory management, symbol resolution and RTTI support across DLLs (e.g. being able to do something like "Foo is BarClass" in DLL A, Foo is an object instantiated in DLL B with a class that is only available on that DLL B but descends from a class defined in the main program whereas BarClass is a variable holding a virtual class defined in DLL C that also descends from the same class - essentially tying to merge in RTTIs from different AOT compiled modules where none has a complete view).

And of course the fact that it was a low priority issue since there wasn't any major practical drawback (personally the only issue i had was that i couldn't share the RTL and LCL between executables that i'd otherwise package together, meaning that the produced executables would take more disk space than necessary since each executable is having their own copy of the RTL and LCL instead of using them from a shared object/DLL).

Re:Things That Turbo Pascal Is Smaller Than (2011) by unnouinceput on Sunday April 12, 2020 @08:58PM (#22852204)
Yeah, Delphi is still trying to find its compass when dealing with cross-platform. Intentions are good, just execution lacks. Problem is currently none of them (either Delphi nor Lazarus/FPC) are a good fit overall. Each solves problems on different platforms differently while having other problems that are non-existing for the other.

I do have fun playing with them though, trying to learn each what quirks lurks around. I mean one example is above I said - Delphi can target ARM if it's Android, but can't target ARM if it's Debian. So I can run on RPI something Delphi cooked if I have Android there, but if I have Raspbian I can't. Same hardware, different OS, such a hard nut to crack :). While if it's Intel and you have Linux, guess what - Delphi owns it.

So for now I am switching between IDE's/Frameworks all depending on availability of technology and most importantly what client(s) want.

Re:Things That Turbo Pascal Is Smaller Than (2011) by themodelplumber on Saturday April 11, 2020 @06:57PM (#22844840)
Interesting. I haven't needed to do so, but I thought I had heard that was a pretty quick recompile, on the order of < 10 seconds? I know there are some tips to speed it up.

Here's the wiki page on component authoring:

https://wiki.freepascal.org/How_To_Write_Lazarus_Component

Re:Things That Turbo Pascal Is Smaller Than (2011) by unnouinceput on Sunday April 12, 2020 @07:27AM (#22847513)
Except when you need to, it's not working, or creepy bugs won't let you do it. Do try it on Lazarus for Raspberry Pi for example (you can do it on a virtual machine if you lack the real device). You'll see what I mean.
Re:Things That Turbo Pascal Is Smaller Than (2011) by badsectoracula on Sunday April 12, 2020 @08:12AM (#22847703)
Are you using the official releases? If you are using Lazarus from Debian or some other repository, it will not work due to these packages not setting up permissions for the executable to be replaced.

In general IME on Linux the best approach is to install FPC (either from repositories or, better, using the official release) and then download the Lazarus source code and compile it somewhere in your home directory with 'make bigide'. This will avoid any problems with Lazarus packaging that often tends to be broken (again, IME).

Re:Things That Turbo Pascal Is Smaller Than (2011) by unnouinceput on Sunday April 12, 2020 @02:13PM (#22849994)
I used in home instead in it's official release. Also I sudo-it when launch it, so it will have full rights. On some packages it didn't work, no matter what I did. I had to use official apt from repositories for those packages (lucky me they had that).
Re:Things That Turbo Pascal Is Smaller Than (2011) by badsectoracula on Sunday April 12, 2020 @02:35PM (#22850144)
Hm if you installed the program from the sources it should work, though you may also need to install the development packages for Gtk, etc.

You can see the whole process in this video i took a couple of years ago:

https://www.youtube.com/watch?v=s_01Xhd2EJM

(this is making a simple puzzle game)

I'm basically doing the same procedure for many years now and i never had an issue with getting Lazarus or any of its packages to work.

Re:Things That Turbo Pascal Is Smaller Than (2011) by TheAceOfHearts on Sunday April 12, 2020 @08:54AM (#22847935)
I'd love to hear a bit about your experiences with Lazarus.

A few years ago I tried playing around with it on macOS, but all I remember is that I wasn't able to get things up and running because I kept encountering problems. Maybe I was doing something wrong or I didn't invest enough time in setting up and learning how to properly use the tool. I think I tried using Homebrew to install everything during my previous attempt, but since I'm not seeing any mention of this option as part of their macOS installation instructions [0] then I'm guessing that might've been the source of my problems.

Would you still recommend learning Lazarus and FreePascal in 2020?

I've mostly done web development, but I'm also interested in traditional native application development. My hypothesis is that learning to use some of these older tools or systems can teach you a lot of lessons which carry over across languages and platforms. For example: learning a bit of Qt helped me refine my internal models for various UI widgets. I want to learn to write faster and higher quality applications than our current highly-frustrating standard.

[0] https://wiki.lazarus.freepascal.org/Installing_Lazarus_on_ma...

Re:Things That Turbo Pascal Is Smaller Than (2011) by wpietri on Saturday April 11, 2020 @09:02PM (#22845337)
Happy memories! Including my first programming contract.

In high school, I ended up doing telephone survey work, mostly market research. We had to fill out these terrible timesheets so that clients could be billed for each call. Poking around, I discovered that the office had a PBX [1] to run all our phone lines. It was hooked up to a PC, and in the manual I discovered it would log every digit dialed, plus other events.

I talked my bosses into letting me mess with it. And then I convinced them to pay me some outrageous sum ($500, I think) to write Turbo Pascal software that would generate an automatic report every night replacing the timesheets. Given that I was making something like $5/hr (well above the $3.35 minimum wage), it seemed like a great double victory.

https://en.wikipedia.org/wiki/Business_telephone_system#Priv...

Re:Things That Turbo Pascal Is Smaller Than (2011) by corysama on Saturday April 11, 2020 @04:28PM (#22843971)
The same author has a separate article on some features of Turbo Pascal that made it so fast.

https://prog21.dadgum.com/47.html

Re:Things That Turbo Pascal Is Smaller Than (2011) by osrec on Saturday April 11, 2020 @08:11PM (#22845143)
> Single pass compiler with combined parsing and code generation. No separate lexer, no separate parser, no abstract syntax tree.

An interesting approach, but how practical is it for more modern languages?

Re:Things That Turbo Pascal Is Smaller Than (2011) by DaiPlusPlus on Saturday April 11, 2020 @09:23PM (#22845424)
Single-pass compilation requires forward-declarations (or the author to rearrange their definitions), it would also prohibit things like splitting a type definition-up between different source files. That said, a simple two-pass compiler where the first-pass is to simply _index_ each discrete compilation unit would work (and such an index could be written to disk with no need for memory usage) - this would probably enable _most_ of the functionality of a C#-like language - heck, you could probably also add a trivial third-pass to implement generics (albeit as C++-style templates rather than type-safe generics) with compile-time code-generation (again, to-disk).

GCs aren't new either - going back to John McCarthy's 1959 implementation in Lisp - which makes me think a non-optimizing AOT C# compiler and stop-the-world GC could probably be implemented with minimal memory usage (actually, isn't this how the .NET Micro Framework worked?)

Looking at my current .NET project I'm working on - the actual compilation of about ~800 C# source files to CIL takes less than a couple of seconds - the rest of the build-time is taken-up by asinine build-steps in inherited MSBuild .targets files that I don't have any control over (one step involves copying all of the source files and assets - to a separate pre-build directory twice). Methinks problems with computer efficiency exist in non-obvious places.

Re:Things That Turbo Pascal Is Smaller Than (2011) by badsectoracula on Sunday April 12, 2020 @07:47AM (#22847592)
Note that you can avoid a second pass by doing 'backpatching' - essentially assuming whatever code you encountered was correct, emitting the relevant bytecode/machinecode with enough reserved space for an address (e.g. for a 'jump to address' instruction, emit zeroes for the address), keep a list of 'unknown stuff' and then resolve them once compilation is finished.

Many years ago i wrote a Java-like scripting language (classes, GC, etc) with that approach. Funny enough, at the time it didn't occur me that i could have separate bytecode streams for methods, etc, so the VM was almost like a custom CPU (the only non-CPU-like feature was an instruction to allocate memory) and since it generated bytecode while it was parsing the source code itself (even skipped any separate tokenization, i parsed the character streams directly) while it also allowed code to be placed outside of functions or classes (it was a scripting language after all), every time a class or function was encountered in source code, it'd emit code to jump over it - so the final bytecode would start by a series of jumps over the functions and classes before arriving to the first actual instruction :-P.

Re:Things That Turbo Pascal Is Smaller Than (2011) by Someone on Sunday April 12, 2020 @03:56AM (#22846674)
”Single-pass compilation requires forward-declarations (or the author to rearrange their definitions), it would also prohibit things like splitting a type definition-up between different source files”

You probably know, but for those who don’t: Pascal requires both. It’s not as if Turbo Pascal implemented a subset of the language.

Also, multiple passes is less important nowadays. In early times, memory was so tight that each pass wrote its output to disk or tape. Early FORTRAN compilers had many. See for example the ‘sections’ in https://archive.computerhistory.org/resources/text/Fortran/1.... Depending on how you count, that’s 6 to 9 passes. (Or one. That document says “With one exception, Fortran may be considered as a one pass system. That is, it looks at the source program only once, and it makes a scan of each statement once only. From then on, references are to tables only.” I think that’s bending th truth, though)

Nowadays, intermediate results can be kept in RAM. Clang, for example, can runs tens of passes, some of them multiple times. That still slows things down, but less so.

Re:Things That Turbo Pascal Is Smaller Than (2011) by zeckalpha on Saturday April 11, 2020 @09:05PM (#22845348)
Some modern languages do the equivalent. Thanks to lazy evaluation, you can have a separate lexer, parser, and code gen, but still have a single pass as long as you have an upper bound on backtracking.
Re:Things That Turbo Pascal Is Smaller Than (2011) by petilon on Saturday April 11, 2020 @04:55PM (#22844162)
> Turbo Pascal was an IDE

Pretty sure it was the world's first IDE, not just an IDE. In a single .exe file it had a WordStar compatible text editor, compiler, linker and libraries.

Re:Things That Turbo Pascal Is Smaller Than (2011) by dragonwriter on Saturday April 11, 2020 @05:17PM (#22844326)
> Pretty sure it was the world's first IDE, not just an IDE.

That probably depends on whether you count live-coding environments like Smalltalk had as “IDEs”

Re:Things That Turbo Pascal Is Smaller Than (2011) by petilon on Saturday April 11, 2020 @05:35PM (#22844445)
Hmm... you may be right. Here's the Smalltalk environment from 1980, it is pretty impressive: https://www.youtube.com/watch?v=JLPiMl8XUKU
Re:Things That Turbo Pascal Is Smaller Than (2011) by pjmlp on Saturday April 11, 2020 @06:47PM (#22844790)
Not only Smalltalk, check Interlisp-D, Mesa XDE and Mesa/Cedar.

Xerox PARC workstations were the first IDEs, alongside Lisp Machines from Genera and TI.

Re:Things That Turbo Pascal Is Smaller Than (2011) by brabel on Sunday April 12, 2020 @04:41AM (#22846815)
That's pretty much just like a modern window-based user interface... in 1980!! It has overlapping windows, windows can be minimized and moved around, context menu via right-click, spreadsheet-like data... truly amazing.
Re:Things That Turbo Pascal Is Smaller Than (2011) by xkriva11 on Sunday April 12, 2020 @01:19PM (#22849606)
You can try it here: http://www.cdglabs.org/thinglab/ (Smalltalk-78)
Re:Things That Turbo Pascal Is Smaller Than (2011) by badsectoracula on Saturday April 11, 2020 @05:53PM (#22844536)
AFAIK the first "IDE" was the one in the original BASIC, or at least the first one to called that. It was command-line based (no fancy GUIs back then) but it allowed editing, debugging and compiling (despite BASIC dialects being commonly interpreted, the original BASIC was a compiler) from the same environment.
Re:Things That Turbo Pascal Is Smaller Than (2011) by analog31 on Saturday April 11, 2020 @07:08PM (#22844889)
BEEP...

BASIC >

I have to admit that I still judge programming tools, and in fact, entire computers, against the beloved BASIC prompt. You flipped a switch, got a BEEP, and 3 seconds later, you were in heaven.

Today the closest thing for me is firing up a PC and opening a Jupyter notebook. But it's certainly not the same.

Re:Things That Turbo Pascal Is Smaller Than (2011) by dhosek on Saturday April 11, 2020 @11:03PM (#22845758)
I remember wondering how on earth you could write Pascal programs without line numbers since that was the difference between running a command and entering/editing a program in the Apple ][ environment. I don't remember if Apple Pascal had what would qualify as an IDE now, although it had its own OS which made it less attractive to me.
Re:Things That Turbo Pascal Is Smaller Than (2011) by zozbot234 on Saturday April 11, 2020 @11:09PM (#22845784)
> I remember wondering how on earth you could write Pascal programs without line numbers

You use a program called EDLIN that writes the line numbers for you, and even renumbers your lines automatically whenever you have to insert something in the middle of your program. It's really neat!

Re:Things That Turbo Pascal Is Smaller Than (2011) by pjmlp on Sunday April 12, 2020 @02:37AM (#22846444)
I did my first text processing exam using edlin, "It's really neat!" isn't something I would use to describe it.
Re:Things That Turbo Pascal Is Smaller Than (2011) by wiz21c on Sunday April 12, 2020 @04:19AM (#22846730)
I think I recall UCSD Pascal which had a sort of IDE. There' a video on IMSAI, I sued the Apple version IIRC...

https://www.youtube.com/watch?v=Wv5IKhv4Akw

Re:Things That Turbo Pascal Is Smaller Than (2011) by pjc50 on Saturday April 11, 2020 @06:50PM (#22844805)
Possibly the environment described in https://en.wikipedia.org/wiki/The_Mother_of_All_Demos might be the first.
Re:Things That Turbo Pascal Is Smaller Than (2011) by tomcam on Sunday April 12, 2020 @04:01PM (#22850655)
No. It was very similar to the UCSD Pascal system. And as others have stated, Smalltalk beat it by a decade and a half.
Re:Things That Turbo Pascal Is Smaller Than (2011) by EdgarVerona on Saturday April 11, 2020 @04:14PM (#22843895)
I really enjoyed Turbo Pascal - the IDE, the included libraries, the Pascal language itself. It really felt like the python of its time.
Re:Things That Turbo Pascal Is Smaller Than (2011) by wslh on Saturday April 11, 2020 @04:29PM (#22843980)
Better than Python because it included an IDE and debugger while Python official installation included IDLE...
Re:Things That Turbo Pascal Is Smaller Than (2011) by oneweekwonder on Sunday April 12, 2020 @02:19AM (#22846400)
you get what you pay for, comparing commercial to open source software is not fair.

One try to sell you something, the other had an idea for a language he started to work on over the holidays.

Re:Things That Turbo Pascal Is Smaller Than (2011) by ptman on Tuesday April 14, 2020 @05:22AM (#22864052)
There were free delphi personal and explorer editions to get you hooked. And Delphi used to be quite affordable back in the day
Re:Things That Turbo Pascal Is Smaller Than (2011) by pjmlp on Sunday April 12, 2020 @02:38AM (#22846448)
First current generation of developers needs to be willing to pay for their tooling, if they want to get something better than Bazaar quality.
Re:Things That Turbo Pascal Is Smaller Than (2011) by badsectoracula on Sunday April 12, 2020 @07:55AM (#22847628)
The fact that there are tiny shops like Xojo that make completely proprietary and niche languages and compilers show that there are developers that are willing to pay for their tools.
Re:Things That Turbo Pascal Is Smaller Than (2011) by pjmlp on Sunday April 12, 2020 @10:19AM (#22848392)
Indeed and I would be quite curious about their customer demographics and target platforms.
Re:Things That Turbo Pascal Is Smaller Than (2011) by darkteflon on Saturday April 11, 2020 @07:35PM (#22845020)
Great story.

As a kid in the 80s, one of the standout images is of my father sat - motionless, absorbed - in front of a brilliant blue CRT.

I often think back on that fondly when I see my own son puzzling at what I might be doing on VS Code.

Re:Things That Turbo Pascal Is Smaller Than (2011) by lokedhs on Sunday April 12, 2020 @01:06AM (#22846162)
That's funny. I was using IntelliJ IDEA at version 3, and it was an amazing experience. With version 4 they made changes to the code parser that made it slow and incredibly unstable. It's been improved since then of course but in my mind they still haven't gotten back to the speed and efficiency that they had 15 years ago.
Re:Things That Turbo Pascal Is Smaller Than (2011) by geophile on Sunday April 12, 2020 @01:14AM (#22846183)
I may be off on the version numbers. But I do remember 3 as being very buggy.
Re:Things That Turbo Pascal Is Smaller Than (2011) by lokedhs on Sunday April 12, 2020 @02:34AM (#22846437)
I may be off as well, and we're probably talking about the same version. As far as I remember it was version 4 that was the slow and buggy one.

I was trying to find out when these versions were released to see if I could line it up with the projects I was working on at the time, but I can't find a list of major releases with dates.

Re:Things That Turbo Pascal Is Smaller Than (2011) by exikyut on Sunday April 12, 2020 @05:05AM (#22846908)
Hi, I got curious and went digging for a few minutes :)

- https://www.jetbrains.com/company/press/press-archive/pr_111... - press release for 3.0, Nov 11 2002

- https://www.jetbrains.com/company/press/press-archive/pr_021... - PR for 4.0, Feb 11, 2004

(Found via `intellij idea "3.0"` and `intellij idea "4.0"`)

- http://web.archive.org/web/20030320181401/http://www.intelli... - announcement for 2.6, Jun 3 2002

- http://web.archive.org/web/20030210115005/http://www.intelli... - APPROX - download page offering 3.0.1, archived Feb 10 2003

- http://web.archive.org/web/20010223163551/http://www.intelli... - APPROX - download page for 1.0.2 (build 339), archived Feb 23 2001

(Started poking around inside IA by following the EAP link at https://wiki.c2.com/?IntellijIdea, which is helpfully woefully out of date)

- https://confluence.jetbrains.com/display/IDEADEV/Home has info back to 9.x (expand "88 more" on the left)

- https://www.jetbrains.com/company/press/press-archive/pr_151... - irrelevant but interesting FOSS release announcement, Oct 15, 2009

If more accuracy is needed, perhaps the relevant info will only be one or intermediate pages away from the above.

Re:Things That Turbo Pascal Is Smaller Than (2011) by valentin_ivan on Saturday April 11, 2020 @09:43PM (#22845506)
Great memories! I was trying to discover the secrets of programming. Magnificent IDE and compiler for that time. ... And it was damn fast!
Re:Things That Turbo Pascal Is Smaller Than (2011) by hrabago on Saturday April 11, 2020 @09:48PM (#22845526)
It’s such a nice coincidence that your path matches mine as well, going from Turbo Pascal to IntelliJ.

When I started on Java, I was disappointed at the quality of IDEs so much that I resorted to coding in Notepad instead. I was so used to the seamlessness of Borland IDEs. It was only when I did a 30-day trial of IntelliJ that I started using an IDE again.

Re:Things That Turbo Pascal Is Smaller Than (2011) by fortran77 on Saturday April 11, 2020 @05:17PM (#22844324)
The least the IBM PC every shipped with was 128kB; that was the smallest option IBM had shown in their catalog. That was for the cassette version.

Are you sure you didn't have 640kB?

Re:Things That Turbo Pascal Is Smaller Than (2011) by dangoor on Saturday April 11, 2020 @05:22PM (#22844361)
Wikipedia says that the first IBM PC debuted in 1981 with 16k of RAM. https://en.wikipedia.org/wiki/IBM_Personal_Computer
Re:Things That Turbo Pascal Is Smaller Than (2011) by jecel on Saturday April 11, 2020 @05:53PM (#22844538)
I doubt anybody ever bought a 16KB tape-only IBM 5150 to hook up to their TV, but it was indeed the entry level configuration. It probably just existed to make the machine's price look good - even today all articles quote that configuration's price of US$1,565 (equivalent to $4,401 in 2019) instead of the $3K or more a practical PC would cost.

The PC could only be expanded to 64KB on the motherboard. Anything beyond that required expansion cards, each adding at most 64KB initially (which opened the door for larger third party upgrades from AST and others). With only six slots and separate cards for the floppy disk controller, video, serial and parallel ports the largest practical configuration was initially only 192KB. Not that the software could take advantage of all that (in the case of .com stuff quickly ported from CP/M, things improved with .exe).

When most people try to remember the original IBM PC they normally think of the 1983 PC XT (IBM 5160) instead which had more slots and more memory.

Around 1989 I was asked to fix a Basic program that tested car shock absorbers. It took me less time to write a new version in Turbo Pascal than it would have taken for me to completely read the source of the original program. The IDE made a huge difference but the speed was also important since it allowed me to modify and try several times per minute.

Re:Things That Turbo Pascal Is Smaller Than (2011) by pinewurst on Saturday April 11, 2020 @05:25PM (#22844378)
I bought one of those - added the other 48k + a 192k multifunction card - way cheaper. Even sold it on at a profit a year or so later.