C on Linux or all of Java?

Andrew McRobb andrewmcrobb at gmail.com
Sun Jan 10 19:18:36 MST 2021


Just from my experience in the C job market. It's usually firmware related
jobs which means you also need knowledge of MCUs like Microchop/Atmel/ARM,
etc. If I was in your shoes I would pick up Go or Rust. (A LOT of
projects/companies are going in this direction) Go is basically C and
Python. I've been a long time PHP programmer and after using Go I haven't
looked back at PHP since. I know PHP introduced Composer and some other
things, but I feel like it's going the way of Zend making shit more bloated
then it needs to be, but that's my two cents.

On Sun, Jan 10, 2021 at 5:35 PM Joseph Sinclair via PLUG-discuss <
plug-discuss at lists.phxlinux.org> wrote:

> C and C++ are mostly used for shrink-wrap applications and libraries.  The
> Linux Kernel is still C and the Windows Kernel is mostly C++.
> About 90% of business applications are Java.  It's the most widely used
> language and platform for web-based applications and microservices.  The
> Spring platform is very popular, but I'd actually recommend looking at
> Eclipse microprofile (microprofile.io, quarkus.io for a good
> implementation) for microservices, it's much lighter and faster.
> Node.js is popular with "full stack" shops.  It's very quick to pick up,
> but extremely difficult to build non-trivial systems and maintain them.
> The single-thread nature of the system and dealing with javascript async
> constructs can be particularly difficult.
>   For desktop applications in JavaScript (not ideal, but some entities
> want this) there is the Electron framework.  Microsoft likes this a lot,
> and some major Microsoft applications, like MS Teams or VSCode, are written
> in Electron.
> If you're looking to develop systems for Windows only (unlikely, but
> possible), then .Net and C# are widely used.
> Mac is kind of a grab bag, but Objective-C is still pretty popular.
>
> A lot depends on what one wants to learn and why.
>   Just learn something?  Perhaps Java as it's very widely applicable.
>   Learn something as a challenge?  C++, it's probably the hardest to learn
> to do well, and can build extremely complex systems.
>   Learn something quickly useful?  Go, Python, or Node.js.  These are
> popular, quick to get started, but you have to be aware you can design
> yourself into a corner very quickly, and maintenance can get difficult.
>   Transition from PHP to more general-purpose systems?  Go is a good place
> to start; it's designed from the ground up as a language for new or
> transitioning programmers.  It requires you follow very strict rules,
> including an enforced style guide, but it's also easier to write "correct"
> code than most alternatives.
> Other goals might point to other alternatives, it all depends on the
> purpose.
>
>
> On 2021-01-10 04:46 PM, Matt Graham via PLUG-discuss wrote:
> > On 2021-01-10 15:52, Keith Smith via PLUG-discuss wrote:
> >> I'm a PHP dev.  I am wondering about the value of learning C on Linux.
> >
> > C is not generally used for new projects (other than libraries, C
> libraries can work with any other language) these days.  Managing your own
> memory is potentially faster than having things be garbage-collected, but
> it provides an excellent way to shoot yourself in the foot because people
> are bad at managing memory.  It'd teach you how much patience you have, and
> potentially how slow PHP is by comparison, but I don't think it'd provide
> much value in 2021.
> >
> >> What would you recommend learning C on Linux or all of Java?
> >
> > Neither.  No one's using Java for anything but Android applications now,
> and Google are trying to push Kotlin for those.  Java is also a total PITA
> as it pretends to be high-level while requiring almost as much boilerplate
> as C does.[0]  wordpress is everywhere, so that'll guarantee employment for
> PHP people despite the language being unfashionable.  node.js is everywhere
> now for reasons which make no sense to me.  If you end up having to
> maintain something half-assedly written in node.js, you will need some
> familiarity with its weirdnesses.[1]  If you don't know node.js already,
> learn that.
> >
> > IMHO, if you want to learn something old-school, go for C++ not C.
> Classes are sort of useful for real-world problems, and you now have the
> option to use auto_ptr to ease memory management woes.
> >
> > [0] Java is ~= COBOL translated to the 2000s.
> > [1] node.js is ~= Perl translated to the 2010s.
> >
> ---------------------------------------------------
> PLUG-discuss mailing list - PLUG-discuss at lists.phxlinux.org
> To subscribe, unsubscribe, or to change your mail settings:
> https://lists.phxlinux.org/mailman/listinfo/plug-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.phxlinux.org/pipermail/plug-discuss/attachments/20210110/05e6c9d7/attachment.html>


More information about the PLUG-discuss mailing list