Welcome to LearnProgramming! Asking debugging questions When posting a question about code, you must include the following:.
A. A of the problem. A, and program that illustrates your problem. The output you expected, and what you got instead.
If you got an error, include the full error message. See for more info. Asking conceptual questions Many conceptual questions have already been asked and answered. Read our page and search old posts before asking your question.
If your question is similar to one in the FAQ, explain how it's different. See for more info. Other guidelines and links. Subreddit rules. No Rewards: You may not ask for or offer payment when giving or receiving help.
The decision between a Mac and a Windows PC has become tough. Use this guide to help you decide which is best for you and your graphics needs. A freelance graphic designer and owner of Eric Miller Design, a web development and graphic design studio established in 1998.
Good Content: Any external resources linked to should be up-to-date and correct. Good Comments: Abusive, racist, or derogatory comments towards individuals or groups are not permitted. No Referral Links, no links through other sites and clicktrackers: Do not post referral links to Amazon or other sites. Udemy coupon codes are not referral links!.
No Complete Solutions: Do not ask for nor give out complete solutions. Guide the OP to the solution, but do not solve it for them. No piracy: Do not ask for or post links to pirated or illegal material. We also don't allow suggestions of piracy. Do not delete your posts!
Your problem may be solved, but others who have similar problems could benefit from the solution/discussion in the thread. Use the 'solved' flair instead. No REDDIT bot tutorials or questions: Tutorials or questions about creating reddit bots are not allowed on this subreddit. They historically create lots of unnecessary work for moderators of many different subreddits. No 'recommend hardware' questions.
We are a subreddit about learning programming, not about recommending hardware. Our have some generic recommendations.
Try. No 'rate/critique my app/website' questions.
We are a subreddit about learning programming, or help with programming, not a rate/critique my application/website subreddit. For more details, see our. If you see any posts or comments violating these rules, please report them. There's no one that's 'better', there are pros and cons to both, plus personal preference. As for the Windows subsystem for Linux, I'm not a huge fan. Microsoft has to warn users: So basically, you can have a little portion of your Windows computer that acts a lot like Linux. You can use all of your favorite Linux tools there and they work great.
But, you can't use any Windows tools to interact with the same files. Worse, Windows doesn't even stop you from doing that - if you do, you'll just end up corrupting your whole system! In comparison, on macOS you really do get the best of both worlds. You can use nearly all software from the Linux/Unix world with a super powerful command line and the ability to download and install development tools with one command - but you can also mix and match any macOS software you want, like native IDEs, debugging tools, and more. That's not to say macOS is perfect.
Here are my personal pros and cons for Windows: Windows Pros:. More widely used by users. Widest variety of hardware to choose from - Mac laptops used to be awesome but the latest ones are disappointing. For developing desktop apps in C# or C, Visual Studio is the best IDE available on any platform, period. It simply rocks. (Not Visual Studio Code, which is good but not amazing, it's a totally different product capitalizing on the name.). If you don't mind spending some money, there are some high-quality developer tools and libraries that you simply can't find on any other platform Windows Cons:.
Setting up a system for development is a pain. You'll be spending a lot of time downloading installers, running them, clicking through a lot of stuff, and maybe even rebooting. Windows doesn't have any developer tools built-in and there's no good system for package management, everything has to be installed separately and manually. Linux/unix software often runs but feels like a second-class citizen on Windows. Since 95% of servers run Linux, if you're doing anything related to back-end, Windows sucks. Can't develop iOS apps .
Personal opinion: Windows is universally terrible and should only ever be supported if your consumers demand it. Everything about it sucks and is harder than either other option. Even with an easier compatibility layer, it's still a pain.
MacOS is technically POSIX compliant and behaves very similar to Linux, so you'll have an easier time porting code, but it's still just not worth it unless your customers demand it. So Linux is really the only thing worth doing.
If you have to support macOS, usually not the end of the world if you started with Linux, and if you have to support Windows, God help you. If the user is lucky and can run it with Microsoft's Linux tools, good for them. This reasoning isn’t very good.
You’re assuming that OP is deciding to make native software for one platform. If you’re making mobile apps or web apps, then your code in production probably isn’t going to run on Windows or Mac, and you don’t have to “support” those platforms, but it doesn’t change that development going to be easier on Mac OS or Linux, and nothing will be different about doing it on Mac OS.
![Reddit Reddit](/uploads/1/2/5/6/125638528/222051001.jpg)
It’s going to be about the tools, which are easier to deal with on a Unix like system. Also you probably can’t just decide you’re only going to make software that runs on Linux from a business perspective. IOS no longer supports OpenGL, it’s only a matter of time before its dropped on Mac too IMHO. C As a language of choice is now being downplayed by Apple in favour of Swift. The point being, it’s bevoming a closed system. Apple tells you what to learn and where to uses it.
Many skills are wholey specific to its platform, it’s languages, it’s compilers, it’s custom languages. It’s not proving to be a longterm productive option productive for many, ask anyone who spent the time plus’s money learning objective only for Apple to change its mind at a later date and call the language obsolete on iOS. What if I don’t want to use XCode? What are my choices on the Apple platforms. Zero, choice that’s where Windows and Linux soars. Oh, yeah, I forgot they dropped OpenGL on iOS.
Could it have been because of space constraints after adding Metal support? IDK that low-level stuff, so I've got no idea how large a graphics rendering library would be. Yeah, I can't argue that they do push their own tools/languages very aggressively. C/C are still available, though that's probably at least partially due to legacy code/necessity and I don't doubt that they would lock that out if they felt it could be done. Isn't Swift supposed to be like an upgrade to Objective-C? I learned some basics of Swift at some point, but have never actually tried Obj-C; I have something in my head saying they're similar, probably something I read, but maybe I'm mistaken - definitely wouldn't be the first time.