The Mac NeXTSTEP programming language was Objective C, developed in the 1980s and this is still supported, although the modern Swift language was introduced in 2014, and the Xcode IDE appeared in 2003. Apple originally used PowerPC chips, replacing them with Intel Core processors in 2006, and they are currently transitioning to RISC chips. Macs have evolved rather more than PCs over the decades: they abandoned their proprietary Mac operating system in favour of UNIX in 1999, adopting the NeXTSTEP platform created by NeXT. Once you start on this path it becomes obvious that Macs handle graphics (and interfaces) very differently from Windows. If you need functionality such as computer vision, there seems to be no alternative to creating a separate code base for the Mac. There are other cross-platform IDEs (such as Qt) which offer better graphics support, but they are not cheap and the extent of their support is not evident. Other environments (like Xamarin) do support interfaces, but only involving simple controls like text boxes or drop-downs. Net Core – but only if they are command line apps on Windows. ![]() Visual Studio (the native Windows IDE) can produce apps which will run on a Mac using. There are many environments offering cross-platform (Mac, Windows and sometimes Android) functionality, but close inspection shows that they all have limitations. The parallel port solutions, which were much faster, do not work today for lack of a matching parallel port.This is a guest post from fellow software developer, Simon Kravis.įew developers would choose their development platform on the merits of their respective Integrated Development Environments (IDEs) but it happens that applications developed in Windows need to be made available on the Mac platform. Interlnk has the ability of copying itself across the RS-232 port to older DOS machines. Use Intersvr on DOS Box or in a VM, and Interlnk on the remote machine. Kermit is still supported in some terminal clients. However, the next problem is finding a device to talk to the old hardware. Particularly if it has a working hard disk or floppy disk. The odds of restoring from a long-lost backup improve dramatically if the old hardware is still operational. It is only the CD-R discs that have had a long lifespan and are readily supported in current equipment. Hard drives, floppy disks, magnetic tape is almost all useless. The Kodak 50+ year media and the better media from that era (now 25 to 30 years old) worked when I last checked the backups. Essentially, the only readable media from a long time ago (early 90s) is CD-R discs. I had the same thought about trying to get some of my old programs to run. A few new quirks have emerged as VB6 applications are adjusted to run under Win7 and Win10, but a lack of development on the IDE / compiler means that the code from yesteryear more-or-less runs perfectly now. All of the bugs that were there a decade ago are still there. In terms of stability, though, one of the important, and counter-intuitive aspects of that is that VB6 has 6 not had any updates in something like 15 years. Visual Studio C/C++ seems to be the only thing going at present that fits the bill. We recently decided that it had become too difficult to get VB6 and our applications running under Windows 10 (and we presume it will only get worse with time), and decided to switch to a new language / platform that we need to be stable for another 20 years. In my lab, we have a central appilcation that is used to run our experiments that has been under continual development for about 20 years, in VB6. because they can start with any arbitrary integer index). For getting a small application running quickly, it's really pretty good, but you have to be far more disciplined about coding than with other languages (like you can't assume that arrays start with 0. And a gazillion fanbois used it to develop games, so that writing the sort of code we use in my laboratory is straightforward because there's almost always an example of someone having done something similar before on the net. ![]() ![]() You can control whether arguments are call by reference or call by value. Like you can use strings as arguments to switch statements (I'm looking at you, C++). Contemporary C/C++ compilers from that era could wipe the floor with VB6.īut there are some nice things about it. Regrettably, one of the serious warts of VB6 is a stunning lack of rudimentary optimizations (like common sub-expression elimination - that rudimentary) which means the code is ridiculously inefficient. There are serious warts with VB, but the compelling case for it is that it makes creating really pretty complex UIs tolerable in a way that more modern Visual Studio languages seem to have forgotten about. I would *love* to have a modern equivalent to VB6.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |