Programmer Laptops

I second getting a desktop, unless if you need to be mobile for some reason.
You'll get a lot more PC for your R.
Good advice; laptops are more trouble than they're worth.

I stopped using a laptop as my primary more than 2 decades ago re it was all round PITA.
I used to keep a small MacBook Air for trips, but even that I've replaced with a portable thunderbolt SSD (updated copy of my iMac Pro) -- which easily plugs into any of the thunderbolt iMacs at my clients.
 
That only means you have limited your "experience" :rolleyes: to what you know.

Its certainly not a reflection of the prevalence of functional programming, F# and any other FP language.
Worldwide incl. USA FP languages rank as the highest paying, and jobs are widely available incl. remote.

Do you have stats to back that up?

F# doesn't even make this list
Haskell is #20 on this list
You have to scroll quite far down to find the list, but neither F# nor Haskell appear on it

I have nothing against functional programming languages. They can solve problems quite elegantly. But they are wholly unsuited to a beginner learning to program. I actually think its irresponsible recommending them to him.
 
Yes. stack-overflow's latest developer survey.

Top ranked language indexes compiled from search stats don't correlate to opportunity or salary.
Expertise is inversely proportionate to search stats.

I have nothing against functional programming languages. They can solve problems quite elegantly. But they are wholly unsuited to a beginner learning to program. I actually think its irresponsible recommending them to him.
That's a misnomer; from my experience it's much easier to teach a newcomer functional programming than it is to teach an existing OOP programmer. Secondly many of the better ranked universities worldwide have incorporated functional programming into their computer science syllabus; including more advanced FP related tracks for CS and Maths. European high schools even cover quite a bit of the FP related algebra; SA in that regard is well behind the norm.
 
Last edited:
Yes. stack-overflow's latest developer survey.

Top ranked language indexes compiled from search stats don't correlate to opportunity or salary.
Expertise is inversely proportionate to search stats.

Do you think a simple mean is a good way of predicting salary? That isn't controlled for years of experience.

If you asked how much can you earn as a developer in a particular language with 10+ years of experience, that would be a different question. But some of those Python respondents have 2 years of experience.

I'd wager that, in that response set, there is a greater correlation between education and years of experience than there is between languages. In other words, your qualification and years of experience is probably a better predictor of salary than language.

All of this is irrelevant though. I think we are only confusing the OP.

OP - stick to the most popular languages for the first year or two. If you really want to be a hipster like |)roi(|, then learn a functional programming language. Maybe you'll get lots of money if you can find someone that needs a functional programmer.
 
Do you think a simple mean is a good way of predicting salary? That isn't controlled for years of experience.

If you asked how much can you earn as a developer in a particular language with 10+ years of experience, that would be a different question. But some of those Python respondents have 2 years of experience.

I'd wager that, in that response set, there is a greater correlation between education and years of experience than there is between languages. In other words, your qualification and years of experience is probably a better predictor of salary than language.
Functional programmers fall on the top part of the curve; hence salary is commensurate with that experience. Years of experience is not singularly a definitive guarantor of expertise. Hence I exclude the OOP programmer that does the occasional FP stuff via e.g. Java streams, C# Linq, etc.

All of this is irrelevant though. I think we are only confusing the OP.

OP - stick to the most popular languages for the first year or two. If you really want to be a hipster like |)roi(|, then learn a functional programming language. Maybe you'll get lots of money if you can find someone that needs a functional programmer.
The OP should be considering all options; and the math tied tracks are not irrelevant.
As for that last part; you've apparently never searched for FP jobs, hence you use the terms "Maybe" and "If".
 
Functional programmers fall on the top part of the curve; hence salary is commensurate with that experience. Years of experience is not singularly a definitive guarantor of expertise. Hence I'd exclude the OOP programmer that does the occasional FP stuff via e.g. Java streams, C# Linq, etc.

You don't get it, do you? What would happen if we controlled for years of education and experience in that sample?

In any case, you don't know and neither do I. You have zero evidence that FP pays better than OOP when experience is taken into account. Stack overflow, as I've already pointed out, does not do this.

The OP should be considering all options; and the math tied tracks are not irrelevant.
As for that last part; you've apparently never searched for FP jobs, hence you use the terms "Maybe" and "If".

When he is there.

That's the point I'm trying to make - OP is still learning, has a long way to go, and chances are FP is irrelevant to him.

Chances are he will never use it, chances are he will never come across a job that needs it. When OP has a little more general programming knowledge, sure, experiment.

Um if FP jobs were more common, more people would be using it. Those links that I posted mean not that many people use FP languages. If there were more jobs using FP languages, the number of people who reported using them would be higher, no?

Also, I hope you see the fallacy of searching for FP jobs and then deciding this means something about the number of FP jobs vs number of non FP jobs. You would have to survey companies to see how widely used they are. My guess - not very much.

These are very esoteric languages you are recommending. Yes, there are FP jobs out there, I know. Just not many. Not as many as say C#, Python or Java.

You mention math - that's actually quite an important point. I don't know if OP has a mathematics background. Without one, FP would be significantly less lucrative, no?
 
You don't get it, do you? What would happen if we controlled for years of education and experience in that sample?

Agreed. I also believe that location would be an even bigger factor. If 25% of the users of a language are in the SF Bay Area, the pay would seem astronomical for the language, but it wouldn’t necessarily be higher than anything else in those areas or imply that it comes with a higher salary elsewhere.

My suggestion to the OP for language is simply Python. It’s popular, easy to use, well documented and has an immense amount of support in terms of libraries and toolkits.

My suggestion to the OP for pay is to research that specifically - the language used really isn’t much of a causal factor at all.
 
Just so we're clear, pretty much all "OOP" languages like Java and C# are adopting a lot of FP principles.
I tried to do a technical interview the other day, they forced me to use Java 1.7, the lack of being allowed to use Streams made the entire task way more complex for no good reason.

OP is doing a degree, pick the language being taught in the degree.
I used to like Java, if needing to learn OOP, it's good. You can move to Scala for FP after you get the hang of it, lots of support for it, and then Kotlin if you want to do Android development.

Python also has a lot of support, I just don't like the lack of curly bracers, and its package dependency is annoying, use virtualenv, guide here: https://opensource.com/article/19/4/managing-python-packages
If you can get away with it (as in all packages are there), Conda is better for package management: https://conda.io/en/latest/

That said, no modern language is really "bad", each just has its quirks and you should be learning the principles and not the language.
 
OP asks for recommendations for a laptop to practice programming on a tech forum. MyBB users in typical style (of late) respond with a debate on languages, deployment options, OS's and salary/job/experience/qualification matters. :oops:
 
OP asks for recommendations for a laptop to practice programming on a tech forum. MyBB users in typical style (of late) respond with a debate on languages, deployment options, OS's and salary/job/experience/qualification matters. :oops:

Laptop, language and OS aren’t orthogonal. The OP asked about Programming language certificates too.
 
Just so we're clear, pretty much all "OOP" languages like Java and C# are adopting a lot of FP principles.
I tried to do a technical interview the other day, they forced me to use Java 1.7, the lack of being allowed to use Streams made the entire task way more complex for no good reason.
That's what many overlook when it comes to FP; languages like Java, C#, C++, JavaScript, Python, Swift, ... whilst not languages that one would typically associate with FP each have highly skilled / active FP communities.

I used to like Java, if needing to learn OOP, it's good. You can move to Scala for FP after you get the hang of it, lots of support for it, and then Kotlin if you want to do Android development..
In contrast to my previous comment, one can't just assume that a Scala developer will be FP skilled, because Scala unlike Clojure (both byte code languages) affords the flexibility of either OOP or FP or a mix of both paradigms; hence you'll more typically find that adverts targeting FP programmers in Scala and other mainstream languages will often exclude developers only skilled in OOP, alternatively they'll often stipulate expertise in a mainstream language together with a pure FP language like Haskell + much of the leading research work is published with Haskell examples.
 
You don't get it, do you? What would happen if we controlled for years of education and experience in that sample?

In any case, you don't know and neither do I. You have zero evidence that FP pays better than OOP when experience is taken into account. Stack overflow, as I've already pointed out, does not do this.
Granted re StackOverflow stats.

Still from experience the likelihood of securing a San Francisco / Silicon Valley package outside of California is far more likely for an skilled FP developer than an OOP developer, similarly outside of the US.

We as example only employ FP skilled developers across Europe & Asia Pacific, and we've never struggled for contracts, and our top resources have packages that are quite competitive with San Francisco.
.
That's the point I'm trying to make - OP is still learning, has a long way to go, and chances are FP is irrelevant to him.
That's not always a given; we've had a number of CS interns from e.g. UCT without formal experience in FP specific math branches like Category Theory, Homotophy Type Theory, ... and most have excelled with tutorage.

Chances are he will never use it, chances are he will never come across a job that needs it. When OP has a little more general programming knowledge, sure, experiment.

Um if FP jobs were more common, more people would be using it. Those links that I posted mean not that many people use FP languages. If there were more jobs using FP languages, the number of people who reported using them would be higher, no?

Also, I hope you see the fallacy of searching for FP jobs and then deciding this means something about the number of FP jobs vs number of non FP jobs. You would have to survey companies to see how widely used they are. My guess - not very much.

These are very esoteric languages you are recommending. Yes, there are FP jobs out there, I know. Just not many. Not as many as say C#, Python or Java.

You mention math - that's actually quite an important point. I don't know if OP has a mathematics background. Without one, FP would be significantly less lucrative, no?
A maths background certainly makes it easier re FP; however the same analogy would apply to any challenging / high reward CS opportunity -- mainstream skills opportunities will always volumetrically trump specialized opportunities and its no different for FP.
 
A maths background certainly makes it easier re FP; however the same analogy would apply to any challenging / high reward CS opportunity -- mainstream skills opportunities will always volumetrically trump specialized opportunities and its no different for FP.

I'm just going to comment on this last bit.

This statement is the very statement why I disagree with you pushing FP.

The only thing we know about the OP is that they are new to programming and have not yet built a career on it.

He isn't asking which hedge fund pays more.

He isn't asking whether a Senior Vice President role is better at Microsoft or at Apple.

He isn't asking which South African university is known for its better PhD programs.

He just wants to know how to get started.

And here you are recommend a type of programming that very, very few people use, that in the right hands CAN be very lucrative.

Do you see the problem?

It's like someone comes to you to ask you which driving school is the best to pass a driver's license test, and you tell them they should become a Formula 1 driver. Hang on, let them master the basics first.
 
Top
Sign up to the MyBroadband newsletter
X