7 ms·
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. Pr
by geophile 7y ago
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.
- analognoise 7y agoLazarus/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.
- themodelplumber 7y agoYes! 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.
- brnt 7y agoWhere does that community hang out? I find it very difficult to find Pascal projects on Github for instance.
- FpUser 7y agoAll 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.
- brnt 7y agoIts a very small set you find that way...
- FpUser 7y agoshows 6000 entries for me. there is also that thing called google.
- brnt 7y agoIm beginning to see that welcoming community I think!
- FpUser 7y agoEven 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?
- 7y ago
- TheAceOfHearts 7y agoI'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_macOS https://wiki.lazarus.freepascal.org/Installing_Lazarus_on_ma...
- EdgarVerona 7y agoI really enjoyed Turbo Pascal - the IDE, the included libraries, the Pascal language itself. It really felt like the python of its time.
- wslh 7y agoBetter than Python because it included an IDE and debugger while Python official installation included IDLE...
- deleted 7y ago[deleted]
- oneweekwonder 7y agoyou 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.
- pjmlp 7y agoFirst current generation of developers needs to be willing to pay for their tooling, if they want to get something better than Bazaar quality.
- badsectoracula 7y agoThe 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.
- pjmlp 7y agoIndeed and I would be quite curious about their customer demographics and target platforms.
- ptman 7y ago
- corysama 7y agoThe same author has a separate article on some features of Turbo Pascal that made it so fast. https://prog21.dadgum.com/47.html https://prog21.dadgum.com/47.html
- osrec 7y ago> 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?
- zeckalpha 7y agoSome 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.
- DaiPlusPlus 7y agoSingle-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.
- petilon 7y ago> 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.
- dragonwriter 7y ago> 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”
- petilon 7y agoHmm... you may be right. Here's the Smalltalk environment from 1980, it is pretty impressive: https://www.youtube.com/watch?v=JLPiMl8XUKU https://www.youtube.com/watch?v=JLPiMl8XUKU
- pjmlp 7y agoNot only Smalltalk, check Interlisp-D, Mesa XDE and Mesa/Cedar. Xerox PARC workstations were the first IDEs, alongside Lisp Machines from Genera and TI.
- brabel 7y agoThat'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.
- xkriva11 7y agoYou can try it here: http://www.cdglabs.org/thinglab/ http://www.cdglabs.org/thinglab/ (Smalltalk-78)
- badsectoracula 7y agoAFAIK 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.
- fortran77 7y agoThe 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?
- dangoor 7y agoWikipedia says that the first IBM PC debuted in 1981 with 16k of RAM. https://en.wikipedia.org/wiki/IBM_Personal_Computer https://en.wikipedia.org/wiki/IBM_Personal_Computer
- pinewurst 7y agoI 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.
- jecel 7y agoI 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.
- darkteflon 7y agoGreat 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.
- wpietri 7y agoHappy 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#Private_branch_exchange https://en.wikipedia.org/wiki/Business_telephone_system#Priv...
- valentin_ivan 7y agoGreat memories! I was trying to discover the secrets of programming. Magnificent IDE and compiler for that time. ... And it was damn fast!
- hrabago 7y agoIt’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.
- lokedhs 7y agoThat'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.
- geophile 7y agoI may be off on the version numbers. But I do remember 3 as being very buggy.
- lokedhs 7y agoI 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.
- exikyut 7y agoHi, I got curious and went digging for a few minutes :) - https://www.jetbrains.com/company/press/press-archive/pr_111102.html 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_021704.html 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.intellij.net/forums/thread.jsp?forum=9&thread=1889&tstart=0&trange=15 http://web.archive.org/web/20030320181401/http://www.intelli... - announcement for 2.6, Jun 3 2002 - http://web.archive.org/web/20030210115005/http://www.intellij.com/idea/download.jsp 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.intellij.com/idea/download.jsp 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 https://wiki.c2.com/?IntellijIdea, which is helpfully woefully out of date) - https://confluence.jetbrains.com/display/IDEADEV/Home 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_151009.html 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.