6 ms·
Yes, why can't we have Makefile.template Makefile.SunOS Makefile.Linux Makefile.FreeBSD and then if a new port is desired, just cp Makefile.templat
by Annatar 10y ago
Yes, why can't we have
Makefile.template
Makefile.SunOS
Makefile.Linux
Makefile.FreeBSD
and then if a new port is desired, just
cp Makefile.template Makefile.'uname' && vi Makefile.'uname'
UNIX: keeping it simple since 1970.
- lmm 10y agoI built a fair bit of OSS on SUA back when that existed. Autoconf projects were wonderful: download the tarball, if the tarball is older than the OS I'm building on then replace config.sub, ./configure, make, make install. All standard, all scriptable; never once had a problem with a project that used autotools (or, in fairness, CMake or SCons - all the big reasonably standardized build systems work). People who'd "kept it simple" like you suggest were the bane of my life. I spent more time debugging each of those builds than all of the builds that used actual tools combined. (Ironically enough "all projects must use autotools" seems like a quite cathedrally attitude though)
- pjmlp 10y agoYeah, nowadays I just embrace OS agnostic languages with rich runtimes and don't care about those things anymore. There are of course occasional glitches, but not like those ones.
- Annatar 10y agoLast I heard Microsoft Windows was obsolete something like ten years ago, is there an operating system other than UNIX left out there, that your application would have to be agnostic?
- nickpsecurity 10y agoDepends on if his employer decides to start targeting OS/2 ATM's, THEOS desktops, non-IBM mainframes, non-POSIX RTOS's, or the lonely market for Amiga's. ;)
- Annatar 10y agoEven AmigaOS has web browsers (just surfed the web from Aweb under AmigaOS). And a shell, so stdout/stderr works too.
- nickpsecurity 10y agoHey, that's cheating if you're putting all the OS specific functions in its own app that moves data to/from those. It's what high-security did for Ada, Java, and UNIX runtimes on separation kernels. Significant, performance penalties in many desktop applications.
- Annatar 10y agoDesktop is dead!!! The '90's of the past century called and said they want the desktop back! People don't want a clunky computer any more; except for computer people, I don't know anybody from general population who has one. I'm offended that we're even wasting time discussing desktop anything!
- pjmlp 10y agoPeople just happen to carry their desktops on their pockets and use this thing called apps on them. Also I don't see anything here on these APIs, https://developer.android.com/guide/index.html https://developer.android.com/guide/index.html https://developer.apple.com/reference/ https://developer.apple.com/reference/ https://developer.mozilla.org/en/docs/Web/HTML/Element https://developer.mozilla.org/en/docs/Web/HTML/Element That relate to these ones: http://pubs.opengroup.org/onlinepubs/9699919799/ http://pubs.opengroup.org/onlinepubs/9699919799/
- Annatar 10y agoPeople just happen to carry their desktops on their pockets You mean they carry their portable UNIX servers in their pockets with them. Since they all come with a web browser, there's your application's or your server's front end. and use this thing called apps on them. I have a few of those on my mobile UNIX server as well. Stupidest thing I've ever seen or used, "apps". What for, when they could have used a web browser to display their front ends, or could have ran on a backend server and just sent the display to the web browser? Most of those "apps" I use won't function without an InterNet uplink anyway... idiocy pur.
- lmm 10y agoShow me a unix system as nice as the Surface Book and I'll be interested.
- Annatar 10y agoIs that one of those failed Microsoft tablet thingies? Why would anyone care about a GUI in the 21st century, when everything runs either on stdout/stderr or on the web? Anyway, the answer to your question is iPad Pro by Apple Computer. It runs an operating system called "iOS" which is a heavily customized FreeBSD on top of a custom CMU Mach kernel. And it's UNIX03 compliant. UNIX! It's everywhere!
- lmm 10y ago> Anyway, the answer to your question is iPad Pro by Apple Computer. It runs an operating system called "iOS" which is a heavily customized FreeBSD on top of a custom CMU Mach kernel. And it's UNIX03 compliant. UNIX! It's everywhere, it didn't go away, and it won't die! I'm aware of it, it's not good enough. Its UI is terrible when you need to work with multiple applications, it's a pain to customize anything and even more of a pain to run your own programs.
- pjmlp 10y agoHow do you run XCode, sign apps and upload them to the store on iPad Pro? How does you .profile on iOS look like?
- Annatar 10y agoI don't, what for? All I'd need is SSH to connect to my illumos based systems, and a web browser to use my applications. Compiling things on a lone desktop like back in the '90's? No, that's what I did when I was a kid and didn't know any better. I have infrastructure for that now. Cross compilers, too.
- pjmlp 10y agoYes, Web browser as OS, MacOS X, iOS, Android and all the IoT ones. There isn't a standard UNIX way to do GUIs, bluetooth, NPC, GPGPU, touch screens, cryptography, printers, medical devices, ... All that UNIX has is POSIX, http://pubs.opengroup.org/onlinepubs/9699919799/ http://pubs.opengroup.org/onlinepubs/9699919799/ , which only focus on CLI and daemons as applications. Anything else are not portable APIs that don't have necessarily to do with UNIX. It doesn't matter that the kernel is UNIX like, if what is on top of it isn't. And anyone that only knows GNU/Linux as UNIX, should read "Advanced Programming in the UNIX Environment" from W. Richard Stevens/Stephen A. Rago, to see what actually means to write portable UNIX code across POSIX implementations.
- Annatar 10y agoAndroid? In this context, that's UNIX. MacOS X is UNIX. Even the z/OS on the mainframe has a UNIX03 compliant UNIX subsystem. You were saying...? GUI is dead; if your application doesn't run on the server and display the results either on the command line or in a web browser, you're doing it wrong.
- pjmlp 10y ago> Android? In this context, that's UNIX. MacOS X is UNIX. Even the z/OS on the mainframe has a UNIX03 compliant UNIX subsystem. You were saying...? So you use VI and Emacs on Android, generate postscript and troff files, configure /etc/passwd and /etc/init.d How does your Android .profile look like? Yes z/OS has a POSIX subsystem, it also doesn't support anything besides CLI, daemos and batch processing. Mac OS X is a certified UNIX, however none of the APIs that matter. You known, those written in Objective-C and Swift are UNIX. > GUI is dead; if your application doesn't run on the server and display the results either on the command line or in a web browser, you're doing it wrong. Better let all of those that earn money targeting infotainment systems, medical devices, factory control units, GPS units, iOS, Android, game consoles, smart watches, VR units, POS, ... that they are doing it wrong.
- Annatar 10y agoSo you use VI and Emacs on Android, generate postscript and troff files, configure /etc/passwd and /etc/init.d I don't use Android, because it's a ridiculously hacked-up version of GNU/Linux (as if being based on GNU/Linux isn't bad enough). Have you spawned a shell on it? The filesystem is a royal mess, the likes of which I've never seen before. Could I run vi and groff and even SVR4 nroff on it? Yes, if I wanted to waste my time with it, I could. How does your Android .profile look like? I didn't touch .profile because I don't care for bash one bit, but it was there. However, in this context, it's still UNIX. A hacked-up, ugly UNIX severely mutilated to run on mobile telephones and tables, but conceptually UNIX nevertheless (honestly, I have never seen anything to hacked-up and mutilated like Android, and you can bet that in 30+ years of working with computers, one sees all kinds of things).
- mcguire 10y agoTwo problems: 1. That just pushes the issue back to the language implementors. Ever discover that your favorite language is unavailable on your new platform? 2. You get restricted to the least common denominator. Thay one OS feature that would make your app 10x faster? Sorry.
- pjmlp 10y agoThe first problem is common to all languages. Do you think C had any major meaning outside UNIX, before it got largely adopted in the industry? It was just yet another language with dialects that had some kind of compatibility, with Small-C being the most used one. For the second point, also not an issue unless the language doesn't support FFI. The beauty of runtimes, instead of bare bones C, is that they can be tuned to make the best of each OS APIs, while keeping the code portable. This is nothing new, it was quite common outside AT&T.