3 ms·
Agreed. This might sound like a lot of work for the uninitiated, but installing Linux on a cheap used Thinkpad is super easy these days. Trying to do dev on Ap
by tomxor 2y ago
Agreed. This might sound like a lot of work for the uninitiated, but installing Linux on a cheap used Thinkpad is super easy these days.
Trying to do dev on Apple devices, let alone an iPad is a much harder path. Get a cheap Linux laptop and you will be able to focus more on learning programming without the friction of fighting a device designed for consumption.
[edit]
Oops I said a dirty Ap*** word, but I'll wear my -1 point with pride :)
- Wytwwww 2y ago> Trying to do dev on Apple devices How is it somehow harder on a Mac? Arguably for a beginner it's much easier because of less distractions and configuration related busywork.
- tomxor 2y ago> less distractions and configuration related busywork. The opposite IME, a lot of the userland on MacOS is very old mixture of BSD from back when Mach/NextStep inherited FreeBSD userland, and old bits of GNU that got stuck during the GPLv3 transition, some of it is new, it's a bit of a Frankenstein... configuring it is a pain because Apple tend to steamroller over everything on every OS update. Installing Xcode is supposed to be the native way to get GCC etc but -very long chain of expletives- (see internet), and there's no built in package manager so people end up reaching for homebrew, with mixed success that often ends up broken or undone because (see OS updates). Generally compared to Linux there are always more steps required on Mac, and there is set of strategies and random scripts floating around on the internet that are constantly evolving in response to every turn Apple makes. When someone is new and trying to learn C this is all a huge source of confusion and distraction, they probably want to try follow instructions from a variety of sources of learning material many that will assume a modern GNU userland and ability to easily acquire libraries via apt/yum/pac install etc... Mac is very much a harder path. Source: I have to support people doing development on Linux/Windows/MacOS, Windows is easy now since WSL, MacOS users are always hitting roadblocks created by Apple, or due to CLI tools missing expected features, or CLI tools with obscure bugs from literally 15 years ago, it's a constant fight (yes this post is my way of venting if you hadn't figured that out yet). I suppose it does depend ob what you mean by "programming" and how far that slips into "development" and what type of development, and what type of learning material you are using, if it's really unassuming, then I'm sure learning C on a mac will be perfectly fine. I've written simple C programs back in the OS X 10.6 days, it was fine, I was keeping it super abstract or Apple specific. But these days the wider you reach the more you are going to hit content that is just going to be very awkward to follow on MacOS for a beginner. On the flip side if the learner is happy to lean into the Apple specific development world then I guess it makes no difference, although I wouldn't recommend it, especially not for C.
- Wytwwww 2y agoYes. I probably drifted too much from C (which this thread is about) in my head and was just thinking about "general" software development (whatever that means.. : D) I agree if you want to write software targeting GNU/Linux or embedded systems (which are more or less the only remaining cases when you'd want to use C) trying to do that on Windows or macOS probably won't be a great experience (and nobody targeting either would have any reason to use it unless they are into retro-computing or something like that). If you only want to "learn" it for purely educational reasons, just to get a better understanding of some lower level concepts/problems (i.e. the only reason why someone would/should ever want to use an iPad) it doesn't matter that much.
- AlexeyBrin 2y ago> Trying to do dev on Apple devices, This is false, you can use an Apple MacBook or iMac just fine for development. macOS is a full blown UNIX OS, 100% POSIX compatible, and you can do anything on it.
- tomxor 2y ago...see sibling response.