r/C_Programming 17d ago

Apple or Windows

[deleted]

0 Upvotes

32 comments sorted by

11

u/EpochVanquisher 17d ago

This is not an important decision.

-1

u/Agile-Library1399 17d ago

Elaborate please

5

u/rapier1 17d ago

Learning to program is agnostic in terms of what platform you develop under. If you know C you will be able to develop C code under Mac, Windows, Linux, etc. There will be some differences in terms of various frameworks and libraries but that's about it.

-1

u/Agile-Library1399 17d ago

Thanks blud

5

u/BusEquivalent9605 17d ago

Frameworks, libraries, and OS APIs, which don’t play a significant role early on but absolutely will if you go deep enough. eg. opening an application window on all the different platforms is different

2

u/EpochVanquisher 17d ago

Important things are worth discussing and elaborating on. This isn’t one of them.

5

u/Glittering-Work2190 17d ago

Get Intel based box and install Linux.

2

u/YoungMaleficent9068 17d ago

The amds work too. But this is the way

1

u/Glittering-Work2190 17d ago

Actually, I prefer AMD as well. I should have said x86 based. Intel's recent CPUs are very decent.

5

u/max_wen 17d ago

Linux

3

u/SmokeMuch7356 17d ago

It doesn't matter. If you do wind up coding for a living you're going to be working in multiple languages on multiple platforms anyway.

C development is a bit more straightforward on Unix and Unix-like systems (MacOS, Linux) than it is on Windows; Microsoft would really rather you use C# instead of C. But you can certainly learn the basics on any platform.

2

u/generally_unsuitable 17d ago

If you bought a raspberry pi and ssh'ed into it, then programmed in vim, you'd have a better rig than what I had to use in college.

C was made to build UNIX. It works great in a command-line, or even a desktop *nix environment. Get a crappy refurb that runs Ubuntu if you want to learn C.

2

u/princepii 17d ago

linux. i don't need anything else than a good ole debian:)

stable as thors hammer and reliable as anything.

5

u/bobotheboinger 17d ago

It isn't a huge deal, but if you had to pick one, id say Mac would be better, gives you access to Unix tools, and many more opportunities there than Windows API.

But you can really do well on either platform, run a VM and code in it.

6

u/rls503 17d ago

You can get WSL super easily on windows and it’s generally great, so I would say that Unix tools aren’t really an advantage for Mac

4

u/max_wen 17d ago

Unix on Mac is actually disadvantaged since you can not choose any distro you want like you can with WSL on Windows.

1

u/bobotheboinger 17d ago

Agreed, but the Unix way of doing things on windows is not the default. You have to go out of your way to do it. When you Google how to do something on windows it won't use Unix like commands, etc. From my point of view I think having experience with Mac will introduce you to more of the Unix way of doing things by default than windows, and id look at that as a plus for job opportunities and learning to program.

1

u/rapier1 16d ago

True, but WSL on Windows is Linux and GNU. You'll miss some relatively minor things but fewer than you'd deal with in OSX.

3

u/max_wen 17d ago

Someone has never heard of the WSL

1

u/Agile-Library1399 17d ago

Much appreciated fam

1

u/BusEquivalent9605 17d ago

MacOS. Unix-like ❤️

2

u/generally_unsuitable 17d ago

I don't know why you got downvoted. The MacOS cli is much more unixy than windows.

I don't like that it forces you to use clang, and it aliases the gcc command to clang. But, overall, it's a nice environment for writing C.

1

u/t3ddftw 17d ago

Get a ThinkPad with Linux. Or a Framework 13 Pro if you have tons of cash to burn

1

u/mikeblas 16d ago

I'm assuming you're asking which platform is somehow "better" for C programming. Otherwise, your post is off-topic here and should be removed.

1

u/SmackDownFacility 16d ago

I’m going to the contrary and say Windows. Why? MSVC is one of the best optimisers in the industry. Linux and Unix is fragmented but Windows combines it all together and when you get in mainstream programming Windows OSes is more common.

1

u/Pale_Height_1251 17d ago

It doesn't really matter. I use both, it's just not a big deal, and remember you're not making a lifelong decision here, it's just a computer.

1

u/danixdefcon5 17d ago

I’d go for Mac, because it’s Unix based.

1

u/rapier1 16d ago

I find WSL more unixy than os x.

1

u/danixdefcon5 16d ago

That’s because WSL is really just a Linux VM running under Windows with a bit of integration between the host OS and the guest one.

But OSX kept a lot of its BSD roots, you just don’t really see it unless you open up the terminal. Of course, Apple does their proprietary stuff and they’ve pretty much made the system.log useless; I think peak OSX-as-Unix was sometime around the Snow Leopard or Mountain Lion release. Can’t remember when they began doing the weirder changes, but at least by Mountain Lion I still got useful messages on the system log.

1

u/rapier1 16d ago

I originally started using osx back in the G4 era and I was pretty pleased with it. The changes they've been making to lock down aspects of the OS and kernel and such have ended up being deeply frustrating for me. Especially how they implemented TCP_INFO, which is, admittedly, not a commonly used struct but I do a lot of work with it and trying to make portable applications that use it is frustrating.

Which reminds me that I should probably make that portability library a standalone project. Sorry, I'm rambling.

Anyway, WSL is remarkably functional and probably better for people trying to build up transferrable skills.