13

Should I try to learn functional programming or focus on a lower level language?

My strongest language is C#.

I'm looking at F# or Rust atm.

Thoughts?

Comments
  • 4
    Try both and continue with the one which makes more click.
  • 5
    Learn both. They do complement each others, and I’ve found especially F# having been beneficial for grasping new languages with far less effort. Not sure if by virtue of the qualities of said language or whether I went over some threshold while learning F#, tho. Anyhow, I do recommend learning both, and there’s absolutely no need to stick to just either.

    And I’m just talking F# v Rust here. When it comes to fp vs lower level, I recommend learning fp for it enhances your theoretical understanding, which does help with the lower level stuff even if you’ll find yourself not using fp as much per se in that context.
  • 1
    Both. I'd also recommend doing some assembly programming to really get how the lowest level hardware-software interface looks like.
  • 1
    Choose Rust! It is both low level and has a lot of concepts from the functional word, like traits and sum types.
  • 1
    @Geoxion sum types are one of the most awesome features that programming languages can have.
    But I‘ve never thought of them as functional. If they have something to do with functional programming, can you explain what the connection is?
  • 2
    @Demolishun That's because the hard part was only to follow up, namely making a compiler when all we had was wood - if we were lucky.
  • 2
    @Demolishun woa! Slow down soldier..
  • 2
    @Lensflare yes, I wish C# had them as well.

    Ok, maybe sum types themselves are not functional. But you can use them to create Option and Result types, so monads.
  • 2
    @Demolishun everything is a blur anyways in many modern languages 😜
  • 2
    Whichever one's more fun, of course
  • 4
    @Demolishun Honestly you made me feel pretty shitty and stupid, I don't see how I deserved that, but I also think your comment might have a tiny seed of value in between the misunderstanding and the derogatory stuff.

    I never complained that "it's hard", my C# is just much stronger than my C++. But I love C++.

    That said, I find the sentiment that a programmer "shouldn't complain" to be really weird and toxic. If you can find a way to make things simpler and easier, then that's a win right? Isn't easy code a good thing and hard code to be avoided? A lazy programmer is a good programmer, anyone?

    Now: who said that oop or structural is "lower level"? What are you talking about dude?

    Was it wrong of me to call Rust "lower level"? Is that your problem?

    Please explain, preferably without making me feel shitty and stupid.

    Thanks
  • 4
    @Demolishun thanks, all good. I need to not take things so personally.
  • 0
    @Demolishun ok grandpa, don’t get cranky about it.
  • 2
    Learn both types of languages! My recommendations are:

    Haskell (functional) and C (low level).

    I like both languages a lot and have learnt so much with these even though I am not using them on a day to day basis.
  • 0
    @Demolishun the creator of c++ on the importance of learning multiple languages and the problems with being a monoglot https://youtu.be/5An1sNznblQ
Add Comment