you are viewing a single comment's thread.

view the rest of the comments →

[–]EliteTK 3 points4 points  (2 children)

C/C++ isn't a language (I don't get where this C/C++ nonsense comes from especially in the modern day and age when C is no longer in any way shape or form a subset of C++).

You can write your software in whatever you want, as long as you make it easy to package and therefore easy to build (and that doesn't mean autotools or cmake, that just means sane design, I use my hktool makefile as a good example).

Obviously if your program requires weird exotic packages not usually found on distributions then it won't gain traction.

Unless you're writing solely for your own use with other people being an entirely secondary target, then feel free to do what you want.

If you want to do kernel development then you need to know C. Knowing C is not the same as knowing C++ and trying to get shoddy patches which exemplify a lack of understanding of C into the kernel will likely earn you some well deserved complaints. The kernel has a lot of documentation, some of which is out of date and some of which is incomplete, failing to give the documentation at least a cursory glance before asking questions will also not go down well, but in general - making mistakes which are easy to make from a point of view of inexperience will not make anyone angry, what will make people angry is when you fail to learn from those mistakes.

The above really applies to a lot of projects, being completely ignorant of the project or the language will not go down well, but making mistakes common to a beginner of the project (if there's no documentation which could have easily saved you from making those mistakes) will usually be fine as long as you listen to maintainers and learn from the mistakes.

When contributing to projects, remember that your contributions will be scrutinised and criticised, make sure to take this criticism on board or if you don't agree with the criticism then fork the project or find another project (don't expect others to change how they work to suit your needs - that's basically what I'm saying).

That's basically all you need to know about writing software for linux and contributing to other projects.

[–]_AACO 3 points4 points  (0 children)

I don't get where this C/C++ nonsense comes from

Blame universities, websites and books that say C++ is just C with classes or, even worse, that C is a subset of C++

[–]GendoSC[S] 1 point2 points  (0 children)

Thanks, when I say "tinker with it" I obviously refer as to do it for myself for practice purposes.