5 ms·
If your domain of discourse is the computer itself or the functionality of the computer in the world (store/compute/ communicate) than it is system programming.
by streetcat1 7y ago
If your domain of discourse is the computer itself or the functionality of the computer in the world (store/compute/ communicate) than it is system programming. Else it is application programming.
It has nothing to do with the actual programming language.
- tyingq 7y agoI think anyone's opinion on what makes something "systems programming" has a lot to do with what it meant when they learned the term. The quotes from Stroustrup and Alexandrescu, for example, very much call out language features.
- streetcat1 7y agoRight. They confuse "system programming languages" with "system programming"
- icedchai 7y agoThere are languages that are clearly better suited for systems programming. You might call these "systems programming languages." Would you write a file system driver in PHP?
- giancarlostoro 7y ago> There are languages that are clearly better suited for systems programming. You might call these "systems programming languages." Would you write a file system driver in PHP? I wouldnt but that sounds like something we would all read about on HN.
- tyingq 7y agoThe latest version of PHP comes with FFI, so I suspect that's coming :)
- streetcat1 7y agoOpenstack was written in python... Personally I use go for everything.
- mekster 7y agoIsn't garbage collection the problem for being in the system programming?
- streetcat1 7y agoNo. It might be a problem for real-time systems, which are a subset. For example, storage systems would do fine.
- gmfawcett 7y agoNot necessarily. There have been real-world operating systems that employed garbage collectors (e.g., Oberon, Genera).
- pjmlp 7y agoNo, that is a common myth from the GC-hate crowd. Here is some stuff to get you started, "The Cedar Programming Environment: A Midterm Report and Examination " https://pdfs.semanticscholar.org/33ff/212245ff8af0359e9118832c9f29ee1fd291.pdf https://pdfs.semanticscholar.org/33ff/212245ff8af0359e911883... http://www.projectoberon.com/ http://www.projectoberon.com/ http://www.ocp.inf.ethz.ch/wiki/Documentation/Front http://www.ocp.inf.ethz.ch/wiki/Documentation/Front https://www.whoishostingthis.com/resources/modula-3/ https://www.whoishostingthis.com/resources/modula-3/ http://joeduffyblog.com/2015/11/03/blogging-about-midori/ http://joeduffyblog.com/2015/11/03/blogging-about-midori/ https://www.infoq.com/presentations/csharp-systems-programming/ https://www.infoq.com/presentations/csharp-systems-programmi...
- saagarjha 7y agoI'm sure you could probably get that to work with FUSE.
- pjc50 7y agoI actually wrote a filesystem driver in Perl using FUSE for my final year of university. It seemed like it would be much less painful when it crashed, given that the objective was to prototype an idea rather than ship a product.
- bakul 7y agoYou can write a user level filesystem in any programming language if it can talk the 9p protocol!
- burntoutfire 7y agoSo, if a programmer at say Amazon writes a small python utility for deployment on AWS, is that systems programming?
- tom_mellior 7y agoYour phrasing suggests (I might be wrong) that (a) the expected answer is no, in your optinion, and that (b) Python is a relevant factor. If that is so, I wonder if you would consider an equivalent program written in C to be systems programming. (My personal opinion is that the whole discussion is moot, a "systems programming" category is ill-defined and not needed.)
- burntoutfire 7y agoMy personal definition of systems programming a programming where one calls a lot of OS APIs directly. Which would make the AWS deployment Python script (or even C program) example not s.p..