The History of Visual Development Environments
Esther Schindler writes "There was a time when programs were written in text editors. And when competition between C++ vendors was actually fierce. Step into the time travel machine as Andy Patrizio revisits the evolution and impact of the visual development metaphor. 'Visual development in its earliest stages was limited by what the PC could do. But for the IBM PC in the early 1980s, with its single-tasking operating system and 8- or 16-bit hardware, the previous software development process was text edit, compile, write down the errors, and debug with your eyes.' Where do you start? 'While TurboPascal launched the idea of an integrated development environment, [Jeff] Duntemann credits Microsoft's Visual Basic (VB), launched in 1991, with being the first real IDE.'... And yes, there's plenty more." A comment attached to the story lists two IDEs that preceded VB; can you name others?
Making managers that are "handy" think they are programmers cince 1992...
Do not look at laser with remaining good eye.
Had a block-graphics GUI, mouse support and a visual debugger
Can't remember the date, but certainly pre Windows 3.1
QuickBasic was already at v4.5 in 1988 - 3 years before Visual Basic.
I use gvim every day, thank you very much. In "the #1 company to work for", no less.
That's a very Microsoft-centric article, although it does have a passing mention of Smalltalk. Earliest IDE I ever used was the toolset on VMS, which included editor, compiler, debugger and profiler - they were integrated via the shell. If that doesn't qualify, then there was DevPac for assembler and a C development package (Lattice C I think) on my Atari ST, which inclued integrated tools that were far more sophisticated than what was later offered by Turbo Pascal.
"There was a time when programs were written in text editors."
Yeah , 5 minutes ago when I finished updating some code.
Plenty of unix C/C++/script/python coders still use vi and emacs. Just because IDEs rule the roost in Windows and Java development, don't assume every coder users or even requires them.
Personally I consider smalltalk the mother of the IDE (and GUI as well). Nothing has surpassed it yet....
I remember ObjectVision as an interesting example of visual programming by configuring blocks. Unfortunately it was very limited, and one reached the boundaries quite fast. IBM VisualAge is another story. I cannot remember a more complete, truer IDE than this. I used it mainly in Smalltalk and Java, but other versions for C/C++, Basic, and even COBOL existed. But it really shined in Smalltalk, it native environment. VisualAge allowed to put the pieces of a program together graphically, autogenerate code, switch to code and extend it programatically, keep version control of every time you push save, debug in place.... it was an amazing product. I am glad many features where migrated to Eclipse, but I miss the overall experience of putting a visual prototype together in one afternoon.
I'm sorry but the author seems confused about many things. But I used Emacs as my IDE.
Integrated compilation and code editing, and integrated debugging.
VB was created by a company named Tripod and later purchased by MS.
Goodbye Slashdot. You've changed.
When I think of "visual programming" the first thing I think of is Hypercard ... I was at uni when that came out, so late 80's?
"Flame away, I wear asbestos underwear"
EMACS on the DEC 10s/20s was able to do context sensitive editing, build and debug (DDT invocation) all within the app. This was in the 70s and early 80s.
I used it for C and Macro Assembler all the time and while most people think that EMACS was just an editor, its scripting capabilities made it very, very unique in its abilities to handle integration. The DECUS tapes were full of examples from folks all over the world who did some amazing things with development tools, all before the "open source" and "free software" concepts came into being.
Harrison's Postulate - "For every action there is an equal and opposite criticism"
UCI LISP was the first one I used (PDP-10) in school. Which would put it about 1973/74.
all the gory details here:
http://www.folklore.org/StoryView.py?story=MacBasic.txt
A later development was Borland's ObjectVision --- there was even provision for loading ObjectVision files into other more sophisticated Borland environments if memory serves.
NeXTstep of course had Interface Builder and Project Builder around that time as well.
William
Sphinx of black quartz, judge my vow.
I started using IDEs off and on since Borland's visual line. I've hated -every- single one. The biggest problem with them is that they seem to think they know better than you what you're trying to accomplish, and if you do something even -slightly- out of their paradigm, they make it very difficult.
The thing about an IDE is that it's an obvious concept and pretty much anyone who's tried to make programming more user friendly has implemented such a thing. True, NetBeans looks nothing like the ZX80 or EMACS, but then Java in 2013 looks nothing like ZX BASIC either - as languages have evolved and projects have become more complex, the tools to manage them have needed to become more complex and manage more concepts.
What's funny is that we bothered giving the concept a name at an arbitrary cut-off point in the development of development environments.
You are not alone. This is not normal. None of this is normal.
Yes, Unix. Unix is an integrated development environment.
Not even just an ide, emacs is "a great OS with a terrible text editor attached" I don't know anyone who just uses vi anymore either. Most use vim. I use add-ons for autocomplete in C++ to vim. Only thing I miss is an integrated debugger, I find clewn to be kind of unwieldy.
Does someone know if there are add-ons for vim that will parse your header hierarchy and create temporary ctags files when you open a Makefile? Or a gdb integrator that is at least a little bit less painful than using gdb? I would like a visual studio style ide for linux if I could get one.
refactor the law, its bloated, confusing and unmaintainable.
Back in the late 80's early 90's my favourite IDE was actually AutoCad plus and external compiler being used to program a Bailey Network 90 Distributed Control System (mentioned deep in Distributed Control Systems).
You drew up the process control drawings in AutoCad and visually connected data signals from processing block to processing block and when finished you pushed the AutoCad drawings through the compiler (which on the Compaq 286 we had took all night for the job I was working on) . This produced the executable code that you then downloaded to the controllers. It was the best example of self documenting code that I have seen as the AutoCad drawings were always up to date.
It was a pity that the application software libraries on the controllers themselves were so bug ridden, but otherwise it was a great system. Except for the controllers running standard MS Basic on 68K? boards (which was good), while the operator stations ran TI Basic on a TI/99 board (which was bad) - and also used 8 inch floppies for storage.
I am Slashdot. Are you Slashdot as well?
Is this article about GIDE or IDE? VB was definitely not the first IDE. Hell it wasn't even the first GIDE. We were using National Instruments LabVIEW a couple of years before VB. Of course it was instrument control specific but ran on a MAC or a PC.
"A person is smart. People are dumb, panicky dangerous animals and you know it." - K
Back in the day I used MS C/C++ 5.1 (one of their finer products IMHO). This was classical command line suite with compiler, linker, make and a nice editor (called me I think).
Based on an idea in .EXE magazine I wrote a special make file and a batch script that:
1) Run the special make file to generate a new temp batch script to compile the code (only one file) as needed
2) Ran the new temp batch file
3) Saved the error report if present
4) If the error report was present then parse the errors and source code to the editor for correction
5) Jump to step 1 until all files were made
It was so bloody arcane so that as little was running in memory at one. It was either make, the compiler or the editor using the precious 640K at at time. But it certainly felt a lit faster in the compile/edit/cycle once I got it working.
When I read "visual development" I thought on Bret Victor's "Inventing on Principle"
See Presentation at http://vimeo.com/36579366 or http://www.youtube.com/watch?v=PUv66718DII
"In addition to helping developers writing their own code, Delphi introduced the concept of building applications from pre-fabricated objects."
That's wrong. Turbo Pascal 6.0 already had an OOP framework for building applications (called Turbo Vision). Yes, you still were writing code in a text editor inside the IDE in order to create the objects. But the framework was already there. There was a class ("object type" in Turbo Pascal speak) for the application, another one for windows, with a dialog class derived from that, there were classes for buttons, input boxes, menus, ...
Yes, those applications were in text mode, but it still implemented a full-fledged windowing system. Just that you couldn't put fancy graphics into your windows.
Turbo Pascal 7.0 also introduced a Windows version, which included a similar class library for Windows. Not the same as the Delphi one (for Delphi, Borland completely reworked the object system, and therefore provided a new library implemented using the new object system), but a complete OOP framework with pre-made classes for programming under Windows.
The only thing "visual programming" added was a point-and-click interface for creating such objects.
Well, I'm sure Turbo Pascal was not the first compiler to have such a framework (wasn't it the whole point of OOP to begin with?). But the point is, Borland didn't introduce it as answer to VB, but provided it already before. Only the point-and-click part wasn't there (not that you didn't have a mouse interface in Turbo Pascal; just that you didn't generate source code that way.)
> A comment attached to the story lists two IDEs that preceded VB; can you name others?
A comment attached to the story lists two spacecraft that preceded the Space Shuttle; can you name others?
Oh God... Am i REALLY this old???
Which makes him a retard. Form designers are not the primary component of IDEs, nor are they necessary to be called an IDE.
The article is unclear in distinguishing "visual" environments from "IDE"s. Certainly Macintosh Common Lisp and probably Lightspeed Pascal/C deserve recognition as earlier IDEs.
While not on the same hardware as the x86 pcs, both Symbolics (owned the first .com domain) and Lisp Machines International had IDEs on their custom hardware platform's Lisp machines. The genesis of both of these was from the work that originated at MIT in the early 1980s.
Arguably these may be considered a predecessor to visual development environments but HP workstations starting in the 1970s had integrated editing and compiling including fairly sophisticated graphics and built-in IO support for the entire range of HP peripherals from disks, printers and plotters to HP instruments. HP started with a proprietary language, HPL, but they also supported a BASIC dialect in the 80 series and a super-fast Pascal development environment in the 200 series. These systems were not cheap but they were amazingly capable.
http://www.hpmuseum.net/
Integrated compilation and code editing, and integrated debugging.
Come on, have all of you forgotten Forth? You could have integrated *incremental* compilation, code editing, and debugging on the first IBM PCs just fine, including support for multi-tasking, virtual memory, graphics, integrated assembly for optimizing critical code, and whatnot. In fact, people had all this on 8-bit machines before that!
Ezekiel 23:20
Do you still remember RHIDE? It was usually combined with DJGPP (C/C++ build tools for DOS). RHIDE was nifty and easy to use.
What I'd like to try out, and this does sound a bit silly, but some minimalist IDE for the Modern UI. I tried browsing the Windows Store but there wasn't much coding stuff available at all.
I used Turbo C for a few years starting with version 1.5 in 1988. It was a sweet product, with one-button building and test runs plus an integrated debugger, and it was incredibly fast for the time. The editor was kind of primitive compared to vi, but usable (basic insert/delete/arrow key stuff).
I eventually switched over to Zortech C++ to get extended memory support. That was an impressive product also, and apparently all developed by one programmer. It eventually became the Symantech product mentioned in the article.
Nowadays my Windows development work is split between Visual Studio and vi/make. I still prefer the latter for anything that's algorithmically complex.
Have you read my blog lately?
Without even trying to do any historic digging:
Asymetrix Toolbook shipped "with" Windows well before VB. In fact the company I worked for foolishly assumed it was "part of" Windows. Toolbook, in turn, was not exactly a knockoff of HyperCard, but was certainly a member of the same genre.
LabView for the Macintosh shipped in 1986, and not only still exists but has a very solid niche in some circles. LabView is such a pure visual IDE that there are not visible lines of code as such; it is all wiring diagrams.
Bill Budge's 1983 Pinball Construction Set, for the Apple ][ and Atari, was certainly an IDE, although for a restricted class of applications.
Incidentally, it seems to me that the later incarnations of Visual Studio are considerably less "integrated" than the original Visual Basic was. Visual Studio has the feeling to me of being no more "integrated" than, say, Borland C++ or the (1985) MacPascal. Unlike VB, it just had a fairly crude resource-editor-like "drawing" environment. It feels OK when you're creating things for the first time, but the visual objects do not really "contain" code--they have a very loose and fragile connection to the code associated with them.
"How to Do Nothing," kids activities, back in print!
Apple Instant Pascal, which I used in 1987 and already existed as another company's product (bought and rebranded by Apple), was the first graphical IDE as we know it with a graphical, window-driven edit/compile/run/debug cycle. Turbo Pascal did not become fully integrated until 4.0 in late 1987, and even then it was only a character-mode interface. (Turbo Basic, Turbo Pascal, and Turbo C all came out around 1987 with the same character-mode interface.) The older Turbo Pascal was not fully integrated, since you had to leave the editor to compile and run. The 1987 releases had what we know as an IDE. Visual Basic for Windows lagged Apple Instant Pascal by at least 5 years, maybe more.
Now I used Apple Instant Pascal on an Apple IIe machine without a mouse, which was painful but it did work. The environment was designed for the then-new Apple IIgs, which had a mouse.
Seriously, a couple weeks ago there was an article warning us all of the coming Unix Epoch doom, and today we are learning about a magical time when programs were written with editors! I understand that Dice.com as a job board is used to serving the lowest common denominator when it comes to IT and software "professionals," but give me a break.
Apparently wizard is not a legitimate career path, so I chose programmer instead.
Why is the summary talking of this as if it were the past? Of course programs are still written in text editors.
Few people use IDEs, since they have scalability problems and usually interact badly with complex toolchains or build systems...
But if you were to use an IDE, Visual Studio is definitely a bad idea. On top of only working with a very sub-par compiler, it's also terribly slow and inflexible.
I know Jeff Duntemann is quoted as saying âoeThe PC culture was inherited from the IBM mainframe world. The graphics in that era werenâ(TM)t very good. Until we had Windows to provide the basic ideas of displaying things in windows, PCs had a foot and a half back in the mainframe world" That's just a dumb thing to say. It's like saying "back then turbo charged engines in commercial cars still had a foot in the racing world!" Doh!
Delphi was the first visual IDE!
VB was a shitty knock-off that everybody hated,
with the worst language ever created to be taken seriously.
The 1975 article (in German):
http://www.computerwoche.de/a/interaktives-programmieren-als-systems-schlager,1205421
Google Translate:
"New to PET is the online resource management deck with a kind of list management. The next step of development is certainly the effect that the list is no longer printed, but will be converted so that only one error list is written - so you can watch the program.
Pioneering is the interactive programming."
I used to use a FORTRAN77 IDE in PC-XT back in 1983. It had an integrated editor, compiler, step through debugger. It supported all the ASCII escape character codes to move the cursor on the screen of a EGA display (640 x 480). I wrote a cross-word puzzle grid generator in fortran using it. Move the cursor, click to toggle squares to black/white, with automatic symmetry squares kept in synch. Some minor snow flake simulation, and a Laplace equation solver using finite differences, and a 2D contour plot program. Pretty nice and powerful, for something that runs on a PC-XT.
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
DISAGREED SECTION HERE: (Somewhat on 'fine points' only though really)
1st - You can go back FARTHER to DOS with VB in fact, & yes, it was "VISUAL" (first of all) & to an extent, "RAD" (rapid application development). I used it in version 2.0 in fact for quick app development in the Microsoft world.
Secondly - VB for Windows (3.0 onwards) was decent, & @ the risk of sounding like some California surfer? TOTALLY "RAD"... but not so great for db access as its later versions where & only 16-bit...
3rd: It + its descendants have had MORE successful deliveries of projects than almost any other IDE for Microsoft because it was simpler to use...
Mind you - that doesn't translate out as "bad" in the world of business OR in the eyes of mgt., especially when venture capitalists or departmental monies are on the line either gents where deadline penalties can ensue... after all - it's YOUR PAY on the line boys, & payroll IS the easiest cost to control (ever heard of 'downsizing' for example?).
(Fact - for most, meaning MSVC++ due to difficulty level, yes meaning things like pointers usage, & especially VC++ 2.x on downwards which wasn't really "RAD" & neither was a LOT of "OWL" from Borland too!)
Back then with those tools? Well, imo @ least where to do a high speed Windows app, you had to do things like write your own messagepassing schedulers & more...
I hated it compared to VB 3.0 onwards & especially VB 4-5-6 which intro'd for BOTH 16 & 32-bit development & had full-blown DB access built in via @ the very least, MS' OLE-DB &/or ODBC (a form of COM db access in the former).
---
AGREED 110% SECTION HERE:
Delphi did rock them all though!
Yes - THAT I can & will agree with wholeheartedly & with solid proof (see below)...
Fact is - I still extensively use it, as do MANY others worldwide, & especially for "personal projects" such as this one -> http://www.start64.com/index.php?option=com_content&id=5851:apk-hosts-file-engine-64bit-version&Itemid=74
APK
P.S.=> So, per my mentioned 'note' above? How BADLY did Delphi rock MS' stuff? Ok, verifiable & undeniable concrete evidence:
Back circa 1997, I was a BIG fan of coding with Visual Studio... especially MSVC++ &/or VB.
I run into a review in VBPJ, of all places (Visual Basic Programmer's Journal) Sept./Oct. 1997 issue "Inside the VB Compiler", a competing trade rag no less & one that was QUITE respected!
Then?
There, I saw Borland Delphi LITERALLY "knock-the-chocolate" outta MS' offerings, overall, in performance...
How much so? Ok (& this IS what I took to mgt.):
In the 6 tests given, Delphi won the majority (overwhelmingly in fact, in what ALL PROGRAMS DO, math & strings work)...
Specifics below (the most important, overall? Again - imo @ least - What they ALL do - math & strings!):
---
STRING SUITE:
Delphi = .275ms .500ms
MSVC++ =
MSVB = 4.091ms
---
MATH SUITE:
Delphi = 1.523ms
MSVC++ = 2.890ms
MSVB = 7.071ms
* AGAIN - note what I said above? Even while I was a HUGE fan of MS' Visual Studio?? I couldn't "argue with the numbers" here, & gravitated towards a BETTER coding environs in Delphi, by far, for performance alone!
---
API GRAPHICS METHODS SUITE:
Delphi = .269ms .293ms
MSVC++ =
MSVB = 292
---
TEXTBOX FORM LOADING SUITE:
MSVC++ = .012ms .069ms .072ms
Delphi =
MSVB =
---
ACTIVE X FORM LOADS:
MSVB = .114ms .495m
Delphi =
Read the Graham quote, and there at the end - "How can you get anything done in them, I think, without macros?" is probably something that people without Lisp experience are not going to grok just because there are other languages that have a thing called 'macros'. And then I look in the link (having not read that article in a while) and find Graham explaining the difference.
It kind of reinforces the point of the portion you quoted, the way you quoted it, leaving out the further explanation of what Lisp macros are. If you already know, you'll get it immediately - if you don't, you might well sit there and say 'But ... C has macros! C++ has macros!' and miss it completely.
Quite true; it was already getting to be a longish post. :-)
For the readers who may not know much about Lisp here are the next few sections: Graham's original essay is worth a read. http://www.paulgraham.com/avg.html. Quite thought provoking.
Any way, here's the bit on macros:
Many languages have something called a macro. But Lisp macros are unique. And believe it or not, what they do is related to the parentheses. The designers of Lisp didn't put all those parentheses in the language just to be different. To the Blub programmer, Lisp code looks weird. But those parentheses are there for a reason. They are the outward evidence of a fundamental difference between Lisp and other languages.
Lisp code is made out of Lisp data objects. And not in the trivial sense that the source files contain characters, and strings are one of the data types supported by the language. Lisp code, after it's read by the parser, is made of data structures that you can traverse.
If you understand how compilers work, what's really going on is not so much that Lisp has a strange syntax as that Lisp has no syntax. You write programs in the parse trees that get generated within the compiler when other languages are parsed. But these parse trees are fully accessible to your programs. You can write programs that manipulate them. In Lisp, these programs are called macros. They are programs that write programs.
Per my subject-line: Had to add that in as far as timeframes over my initial post -> http://developers.slashdot.org/comments.pl?sid=3436053&cid=42799383
* Delphi WAS known as "the VB killer" @ Borland too, iirc!
It should have been but, there's the SHEER POWER of Microsoft marketing at work!
Delphi's the BEST of both MSVC++ & VB in 1 box basically by being MOST of all the power of VC++ & yet the RAD speed of development of VB!
Delphi rules! We agree here...
Except for estorica like the single thing I know it lacks vs. VC++ in a multiple inheritance object model!
Delphi- it's single inheritance object-model based, & imo, I don't KNOW of much that practically ANYTHING really uses multiple inheritance in the real world practically either in a real-world project!
(However: I do NOT know "everything" so, that's my 'out' on that account - feel free to correct me if I am off/wrong on that though guys, as I can stand to learn as much as the next guy can)
APK
P.S.=> Whew, lots to cover, hope I didn't 'omit' anything & "ah... memories", lol... apk
I have never met an IDE that I liked. They were used to overcome the problems of single-tasking and poor command line editing. For example with MS-DOS there was no CL edit. Even when they had one it was hidden and few knew it existed, Windows 98 had dosedit, but I never saw anyone using it.
I was using mult-user/multi-tasking systems from the late 70s onwards, first with Unix and MP/M and then Concurrent-CP/M-86 and derivatives and later Linux. On these I could switch screens and run whatever make was necessary and switch back to editing while the compiles ran. To run make was just an up-arrow to recall the command line and enter to run it - and I didn't have to stare at the screen while the compiles were done. Running VFile, XTPro, XTGold, Midnight Commander gave all the flexibility required to run the editor of choice from single key strokes.
Delphi (visual version of turbo pascal) was the shit back in the day
http://interserver.net/
Did one for MASM 5.0 (for Windows no less) using VB 3 to do so, same ideas you used (hence my subject-line), since Microsoft Macro Assembler had link command above the base compile one etc./et al...
I made a BIG mistake though!
(Since I built it for my 2nd degree's schooling in straight CSC (above MIS one I earned years beforehand))
I only compiled it for 640x480 resolution!
Lol, (memories) & when I showed it to the CSC dept. head he was running the 486 Dx/33 desktops @ 800x600! My controls were ALL 'off' because I did them like bitmaps (not actual RAD controls - hey, I was JUST learning, you know?)
I added resolution check, & used it from then on out... but it didn't go "campus wide" (another app I did for my required science did though, a terms db the prof used for his classes on lab extra credit that went into the campus library, wrote about it here, years ago in fact -> USING CSC & SCIENCE TOGETHER IN ACADEMIA:2010 -> http://ask.slashdot.org/comments.pl?sid=1531366&cid=30971224
)
---
Later, for them I also wrote an extender for IronClad - a DOS security program they used that worked GREAT for DOS & protecting it vs. alteration (ala the bootsector, config.sys, autoexec.bat & more).
They were JUST transitioning to Windows 3.x usage that year, iirc, 1993 too!
That was written in VB since it not only protected files IronClad didn't in system.ini, win.ini (I locked them) etc., but, also by using a password protected launcher for Windows, via the Shell = line in program.ini (or was it win.ini? Can't remember anymore, lol... gettin' old!)).
I challenged ANYONE to 'bust it' & only my pal (a young Russian Jewish fellow I was best pals with no less from that schooling for years/decades in fact) figured it out, but did not break it - but, he knew the mechanics used (he was out to build what InstallShield was doing in fact for his 'capstone' work but never completed it - he got kicked out for reasons I won't get into here... too bad: He proved he was better than the C++ prof. we had who was a Lockheed Martin software engineer no less).
Anyhow - they DID use the IronClad extender since it was just a launcher for program manager (the then OS shell for Win3.x & NT 3.x series) & VB apps COULD start Windows!
Pretty clever I thought - so did the dept. head!
APK
P.S.=> Pretty much same idea you had, but for the Windows world that was JUST "kicking in" really, not only for that school, but the planet (except I didn't check resolutions, & had to correct it for that)... apk
I used Suntools to create windowed apps on their workstations in about 1988... the first bunch were done by handcoding the panels, then someone came out with 'Tooltool' - and that basically did what most of the current form-creator GUIs do.
Less is more.
Case-in-point, by literal working example no less, right here:
---
APK Hosts File Engine 5.0++ 32/64-bit:
http://www.start64.com/index.php?option=com_content&id=5851:apk-hosts-file-engine-64bit-version&Itemid=74
---
* :)
I've used Delphi since it's inception with GOOD reason (see my p.s. below & the link there).
It's an based on the Object-Pascal 7.x engine, building over their "OWL" (object windows libraries) in Pascal for Windows & the earlier "Turbo" series for DOS!
I got into it since version 1.0 in 16-bit, right into 2.x-7.x for 32-bit (again for great reasons noted below)...
I, the past 2 yrs now or so, have found Delphi XE-XE2 just as excellent for 64-bit in Windows, since it can do Mac stuff & even smartphone apps!
(Even porting to Linux even as a 'snap' via Kylix (discontinued by Borland, bad move imo, but oh well) & even to FreePascal & the Lazarus IDE... not a HUGE 'stretch' except for things like drive letters vs. mounted devices + some socket differences for online apps, etc.).
Delphi? Yes - It rocks!
APK
P.S.=> It was truly, the "VB Killer" & I too feel as you do to this very day, vs. MS offerings... I still like Visual Studio though, just NOT quite as much is all!
In fact, per what I stated above?
Here was EXACTLY why & what took me away from preferring Visual Studio in fact -> http://developers.slashdot.org/comments.pl?sid=3436053&cid=42799383
Yes - PURE performance, & 99.999% of all the power of MSVC++ with the "RAD" buildspeed of VB (in 1 box, so-to-speak)...
... apk
I would say Turbo Pascal and co where by far not the first integrated development environments and also not the first graphical IDEs.
Heck, I guess in the LISP world the development likely was also done with an IDE, may it have been graphical or not.
I can not immagine a Symbolics machine having ny a text editor.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
The LISA 6502 assembler had an integrated IDE on the Apple II. It did syntax checking and some code generation in real time, doing something useful with all those CPU cycles as it sat there waiting for you to type.
Crappy article with barely any pictures. bleh.
Xerox Pilot/Mesa. Ran this on Xerox 8010 in the early '80s. Simple version on Alto in the 1979. WIMP interface standard.
What a load of horsecrap. Missed entire platforms.
This is a company that makes an "IDE" that is all about Web apps, and then selling it as a "write once, deploy everywhere" snake oil solution. One tool->hammer all problems->nails.
It's a comment/click magnet, and it's just been slashdotted.
Not *one* mention of the best programmer's editor, Brief, that was used all over in the late eighties/well into the nineties?
Hmmm, maybe now it'll run under wine....
mark
MPW
ParcPlace (?) Smalltalk
Lightspeed/Think C
Hypercard
I did a project or two on Mac Common LISP, but I don't even remember whether that was an IDE or not. It's been a looooong time.
Even earlier than that, I used some Pascal dev environment on the TRS-80, but I don't think you could call it an IDE. Not much room for integration in 48K.
Point by QUOTED point (to not miss or elude any of yours):
"Delphi is now C++ builder, which IIRC is now also renamed." - by HornWumpus (783565) on Tuesday February 05, @04:07PM (#42801581)
Other way around on Borland C++ Builder & Delphi iirc... but, I could be wrong as I stated: Can you show me documentation, because I am PRETTY SURE it's the other way around/vice-a-versa, actually!
---
"Object Pascal was just a different dialect of C++. Not better in any way I could see, just different to be different." - by HornWumpus (783565) on Tuesday February 05, @04:07PM (#42801581)
Here? I have to STRONGLY disagree: Bit of a "historical timeline" - Object Pascal was created by Borland's (now MS') Anders Heijlsberg & Delphi with he + Mr. Chuck Andrzewski (sorry gents if I spelled your names wrong) - Pascal itself by Niklaus Wirth...
C by Kernighan & Ritchie for Bell Labs/AT&T iirc, & then Bjarne Stroutstrup for C++...
etc./et al!
In fact - I'd consider what you said MORE accurate were you to say, C++ is an object-oriented dialect of C, &/or even JAVA for that matter (since to me @ least, coding JAVA & even C# remind me more of C++ than any other languages I've ever used, & I've used @ least a dozen in the last 18++ yrs. professionally).
I used to make "SIDE CA$H" by 'porting' toolkits between C++, Delphi, &/or even VB when possible (taking their interfaces & porting from say, a C++ toolkit to Delphi, or parts of it @ least with others, then doing it for VB (until pointers became an issue, & the CLOSEST VB5-6 had, was the AddressOf method, took callbacks & yes, used pointers, but that was in the runtime itself... couldn't "alter" that, after all, & it was a headache for SOME stuff, minus building libs ON LIBS to do it etc.).
I think they're ALL pretty similar (especially C++, Pascal/Object Pascal, & then Delphi and VB)... it's a matter of using what lends itself BEST to any particular task & deadline (most of all the latter - you know: The stuff that gives you grey (or is it gray) hairs, lol).
I don't SEE how you can call them the same though... similar yes, but SAME?
I see 1 point you're attempting to make - that Borland (not them anymore, another company, but will always be 'borland' to me) HAS something a LOT like Visual Studio is, in their RAD studio (& that they use the same backend compiler engine, & iirc? It's the Pascal one, NOT C++... I could, however, HERE be a "wee bit off" but not that far - operating only from memory here too, of course/that is).
---
"The one thing VB could do back in the day (being an interpreted language). Edit and continue." - by HornWumpus (783565) on Tuesday February 05, @04:07PM (#42801581)
VB's runtime driven, perhaps THAT is why you could do that as you say (I am thinking pcode interpreted by runtime here AND step-tracing)...
HOWEVER - again, it sounds an awful lot like "step tracing" to me in the IDE & its debugger, from what you describe...
OR
Did or DO you mean EDITING the "p-code" (what runtime engines RUN) is possible? That, I have *NEVER* attempted... but, might be possible.
(Erlang, from what I understand, ALLOWS changing on the fly in code, literally (hotswapping code), but what you're suggesting is a NEW ONE on me @ least, for VB!)
I don't use/do Erlang... too "newish" for me (though its quite old actually in its roots), newest stuff I know? JAVA &/or Python (& the latter only cursorily - too limited imo vs. my fav 3 noted above).
APK
P.S.=>
"I've seen a few good uses of multiple inheritance." - by HornWumpus (783565) on Tuesday February 05, @04:07PM (#42801581)
I never have... seriously, but again, not saying there aren't - I just never saw the need to use it personally, & always found TRUE "code reuse" (
What do code wizards have to do with debugging? I thought they were for coding, and my experience with them has been rather unpleasant.
Some years ago, a Windows/COM expert showed me how to add a method to an interface using a Visual C++ wizard. We went into a labyrinth of dialog boxes, setting properties and meticulously adding each and every parameter and type. At the end, I ran cvs diff to find it had added one line to the program:
virtual HRESULT STDMETHODCALLTYPE GetSensorStatus(BSTR device, ARGOUT BSTR *status, ARGOUT long *result) = 0;
We then had to run a different wizard to add a corresponding method to a subclass. After all that, we ended up with three copies of the interface. Oh! And, they had to be in the same order, because whereas DLL COM uses ordinary name linkage, interprocess COM uses numbers to identify methods. I eventually boiled down the number of copies to two.
Symbolics Lisp and SmallTalk are two integrated edit/debug environments that are probably the most influential here. And they are old...
"Delphi was Pascal-based, C++ builder was C++ based." - by Anonymous Coward on Tuesday February 05, @06:50PM (#42803259)
Right as rain... until you hit .NET based code (and THAT might be the 'stickler' here that's confusing the other fellow I responded to)...
RAD Studio (Embarcadero, who owns Delphi/C++ Builder now) does both C++ Builder AND Delphi/Object Pascal, for "normal" non-runtime (yes you can do runtimes driven stuff in Delphi too, but not the default) single 'stand-alone' apps, normal Win32 PE's that are statically compiled)... it's sort of a "Visual Studio" for Delphi + C++ Builder!
APK
P.S.=> Hence, my point to -> http://developers.slashdot.org/comments.pl?sid=3436053&cid=42801581 in the post after that to him in reply which I did...
However - I truly CAN see his point saying what he did, because here, for SOME reason, something tells me that the RAD studio (which does BOTH C++ Builder & Delphi, has gone to a single engine based on Pascal - nuts as that sounds)
However, it IS confusion, & it also MIGHT only be THAT way for .NET code, which it does too (runtime driven, & Borland had it working BEFORE MS did oddly enough as well), as well as straight Object Pascal for Delphi (if not C++ Builder based on C++) for STATICALLY compiled non-runtime (or again, ugh, runtime driven apps are possible for Delphi Win32 PE NON-.NET types too) driven executables for Win32 PE's (portable executables))...
... apk
The LabVIEW programming language had a full visual editor for its dataflow syntax in 1986. Mac only. Wasn't on Windows until 1992, but as an IDE it does predate the VB date in TFA.
'While TurboPascal launched the idea of an integrated development environment, [Jeff] Duntemann credits Microsoft's Visual Basic (VB), launched in 1991, with being the first real IDE'.
"Turbo C is an Integrated Development Environment and compiler for the C programming language from Borland. First introduced in 1987, it was noted for its integrated development environment, small size, fast compile speed, comprehensive manuals and low price".
AccountKiller
...as a link generator.
Welcome to the world of the Twenty-First Century viral marketing campaign.
When the article appeared on the FP of this site, I'll bet that the Mendix folks popped a Dom Perignon bottle.
We've been punk'd.
"For every complex problem there is an answer that is clear, simple, and wrong."
-H. L. Mencken
Note that the Clarion development system had a decent IDE even back in DOS. And it's still better than M$, I think.
I like this reply, from the link:
" FF222 a day ago
This could have been a fantastic piece of historical lookback. Unfortunately the author's total lack of actual knowledge of or experience with the development tools and environments of the last 30 years made it just another piece of modern "IT journalism": a heap of half-truths and plain wrong information googled together from all over the web, forming a total mess of dezinformation without any real or factual value."
I was never a programmer myself, but I once tried out and was impressed by Borland's C++ Builder and JBuilder. Anyone ever tried it?
There aren't that many attempts at completely getting rid of the textual representation in programming. One of them is Intentional Programming (http://www.intentsoft.com). See this demo from 2006 for example: http://www.youtube.com/watch?v=tSnnfUj1XCQ. I think it's fair to say it didn't really take the world by storm. Unfortunately?
-- Did you try Tao3D? http://tao3d.sourceforge.net
I've always been quite puzzled about the use of "Visual" or "Graphical" for this kind of "mostly text with some rectangles thrown-in for good measure" IDEs. Besides being bit-mapped, there's nothing really graphical about them.
Want something visual? Try this: http://www.youtube.com/watch?v=apy5csu0DkE. Or this: http://www.youtube.com/watch?v=paJG7Fy5Few. Or this: http://www.youtube.com/watch?v=m4a0jcrDgK0. Or the amazing stuff on this page: http://www.iquilezles.org/live/index.htm. Now, that's visual ;-)
-- Did you try Tao3D? http://tao3d.sourceforge.net
Per my subject-line, It's runtime-driven (vbrun100.dll, vbrun200.dll, vbrun300.dll, vbrun400.dll & so on) so I can see that, as to changing the code "on the fly" & executing it (hence my reference to step-tracing or pcode alteration, which ends up pretty much like you're describing really, especially the latter since it's only being runtime driven by the above named libs)...
* I never used it myself though, but I'll take your word for it - I did the "usual style" of step-tracing & using a watch window, then redoing it as needed IF it 'broke down' (using On Error GoTo std. err-handling of course).
APK
P.S.=> On the "multiple inheritance" end of what you said - Sounds like you took a SINGLE parent object, a streaming class, & overloaded it (not even in the constructor OR destructors) to deal with diff. data types, ala a socketstream (for downloads via http get type functionality) to deal with diff. kinds of data passing thru (be they text, binary, image, etc.)...
That about right as to what you meant?
... apk
Per my subject-line: E.G.-> The Stamina32.dll lib's interface (it was a lib built in asm for high speed specialized functionality, tons of it - if you want/need examples, ask, I still have its manual around) was EASY TO "PORT" from VB interfaces to Borland Delphi in fact.
* I loved that about changing code between them, as BOTH are highly readable (VB moreso, but Delphi's Object Pascal NOT far behind), & then even to C++ sometimes (not as often, it's less readable imo, but NOT much so).
You're "dead on/spot on" right about C++ & Delphi too... no questions asked. There isn't much you CAN'T do in Delphi (yes, even drivers are possible with toolkits for it to extend it to do that, just like the DDK from MS (Delphi Driver Kit)), other than multiple inheritance, @ least, afaik!
APK
P.S.=> Any/all "RAD" type tools were MILES easier to work with than say, Assembly code, by far (@ least I always thought so, I was so glad to see them come around & built like VB was, ala C++ Builder & Delphi by Borland - I've always LOVED the 'template cut & paste controls onto it' paradigm & then double-clicking on them to code them... beat the HELL out of Visual C++'s early "resource studios" for example!)...
... apk