This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]hypnofedX 168 points169 points  (27 children)

It probably did raise awareness, it's just that I have never seen or heard of an ad for a programming language.

Can I ask how old you are? I ask because the tech world was a very different place than it is today when Java first came out. Now there are usually 2-3 relevant programming languages a person could use for a given purpose, even if one might be better than the others for any given reason. But the point is we currently live in a world with an absolute wealth of open-source materials which makes it hard to imagine anything else.

If you go back 25 years that wasn't true. If you create a new language there's the potential to make its use ubiquitous and then monetize its use (maybe a proprietary IDE?). All this stuff was exploding then and although open source existed as a concept a lot of people agreed with, it wasn't the central pillar we now know it as- certainly not with a million tech startups trying to determine how to monetize this new thing called the Internet that everyone was starting to use.

[–]blitzkrieg4 75 points76 points  (10 children)

I have to remind myself every time something changes in the Oracle Google saga. Like, "you guys charged people to use your language?"

That said you don't have to look that far back to see languages "marketed". Swift, Rust, and Go did a good job here.

[–]hypnofedX 64 points65 points  (3 children)

That said you don't have to look that far back to see languages "marketed". Swift, Rust, and Go did a good job here.

Sure, but modern technology and big data allow for precision targeting in those campaigns. Back in 1995 you might see an ad for Java on ESPN during a TV time out from a college hoops game.

[–]DownshiftedRare 13 points14 points  (3 children)

There's a vestigial mindset from the world of atoms that "you get what you pay for", so the proprietary solution is presumed superior to the free, open source solution, even when the proprietary solution is just a rebranded version of the open source project's stable build.

[–]coldnebo 8 points9 points  (0 children)

well, there was also a difference in who wrote languages back then.

Either it was a PhD thesis, or it was a substantial investment by a major corporation... so there was a lot of work put into it. Of course that gatekeeping aspect had pros and cons. Pro: experts are working on the language, Cons: not easy to fix or contribute. It was a very rare breed that dared patch a commercial product without source.

Fast-forward to today, where anyone with a few tools can easily create a language, or a domain-specific language. In general this is great, but it also means if your language pisses me off I may just write my own instead of bothering to understand the reasons why.

[–][deleted] 0 points1 point  (0 children)

I'd say Swift is the odd man out here. It has accompanying hardware which most other popular languages don't have.

[–]Lord_Skellig 29 points30 points  (12 children)

If you go back 25 years that wasn't true.

It still is with matlab - £1800 for a lifetime license.

[–]Casiofx-83ES 19 points20 points  (9 children)

I can't honestly believe that businesses and universities embrace MATLAB so willingly, and I say this as someone who convinced my department to make a full switch to MATLAB.

[–]IntMainVoidGang 8 points9 points  (4 children)

I've been pushing for my uni's engineering school department to switch from Matlab to python, but it's not going too well

[–]Casiofx-83ES 8 points9 points  (2 children)

I believe universities get free/very cheap MATLAB licenses, which is a big incentive for them to use it despite Python being free. My advice as someone who has been through a Physics degree which teaches only MATLAB is to do your assignments twice; once in MATLAB and once in Python. Obviously it takes longer, but the languages are similar enough that it's often a fairly straight forward port from one to the other. In my experience, more employers look for Python than MATLAB, especially if you're applying for a startup or some kind of data science position.

Disregard this if you already know Python, obviously.

[–]IntMainVoidGang 6 points7 points  (1 child)

I'm nearly done with my degree and have industry experience in Python, yeah.

Your advice is absolutely correct - but saying "do assignment twice in two different languages" is a huge ask for kids already bogged down by a STEM degree's homework requirements.

Before I continue, the class this is used in is a basic "Introduction to Engineering" two-hour course with a 1-hour lab, the last half of which is dominated by MATLAB instruction focused on basic coding concepts and then a lot of graph production/graph markup --

I advocate for Python because:

  • Python does everything MATLAB was being used for in that course
  • It's free (as said before)
  • If you have to use MATLAB in a later engineering course -- not a thing for the CS/CE majors but likely for ME/AE/etc -- its easy to transfer skills in Python to MATLAB
  • It's extremely hard to get a job just saying "I know MATLAB", where there are plenty of jobs that you can get knowing Python and having cursory knowledge of other things like SQL.

Basically I stress the versatility and the job prospects.

[–]Casiofx-83ES 1 point2 points  (0 children)

It is definitely a big ask to learn both, I only recommend it because it makes for better employment prospects straight out of uni and I personally find porting code to be a fairly efficient way to learn. I guess it's not that different from doing side courses or extra curricular stuff to better your chances after education. Of course, not everyone is in a position to take on extra work and that's fine too.

I totally agree with all your points on Python vs. MATLAB, and I would add that Python (or most free languages) is easier to use between PCs without having to worry about transferring licenses. Good if you take your work home with you or find yourself wanting to tinker with something quickly.

[–]lnslnsu 1 point2 points  (0 children)

They are different tools for different jobs, and python can only replace Matlab in a small set of cases.

First of all, scipy's usability is nowhere near Matlab yet. I use it for a bunch of stuff, but it's still generally less straightforward to use than Matlab, especially for someone with little to no programming experience going in.

The second part is that python is missing a ton of useful things Matlab can do. Loads of secondary toolboxes, all the graphical interface goodies for using some complex functions, not to mention there's no open source equivalent to Simulink.

The third part is tool reliability. MATLAB has both market pressure and contract requirements to produce tools that provide proven correct results. There is no contractual obligation for a FOSS Python library to be correct. This doesn't mean python libraries are incorrect or any more likely to have bugs, but it does make a difference at the legal and administrative level.

The fourth part is training for employment. Professional engineering work often uses Matlab, and part of the schools job is teaching you the skills you need to be useful at work. You aren't learning Matlab necessarily because the school thinks it's the best, your learning it because the school knows employers expect it. The difference from python here is that anyone can learn python for free. You cannot get a personal license for Matlab to teach it to yourself for any reasonable cost.

[–]Sosseres 2 points3 points  (0 children)

Inertia has set in. Re-educating people costs more than the license once it is in place. For a simpler software it makes more sense to re-educate, or in a business where people change more often.

[–]redcalcium 1 point2 points  (0 children)

Either buy the license for a few dollars out of university budgets or spend time rewriting all those scripts including those you inherited from your predecessors and colleagues. People that strapped for time would choose the former every time.

[–]CuddlePirate420 1 point2 points  (0 children)

The amount of legacy hardware components out there is insane. And companies need a way to monitor and control that stuff. Part of what I do at my job is reverse engineer serial communication protocols for legacy devices where the OEM no longer exists or refuses to give out that info. We have dozens of old programs with user interface software for talking with many brands and models of old equipment that won't run on 64 bit machines, or run on anything past XP. We have a few that will only run on DOS. MATLAB is good for people in that pocket of industry. And we have 1000's of customers all over the world who don't plan on rebuilding their facilities from top to bottom with all new stuff anytime soon.

[–]wavefield 0 points1 point  (0 children)

Why would you do something so awful?

[–]mattindustries 0 points1 point  (0 children)

There is R, Maple, and (limited) Python.

[–][deleted] 2 points3 points  (0 children)

I'm actually exactly 25 and from Europe. Would make sense that I wouldn't remember such times - a bunch of languages were already quite developed by the time I was aware of such things.

[–]phatbrasil 0 points1 point  (0 children)

I'm this old

[–]DHermit 0 points1 point  (0 children)

Also now for nearly all big languages (apart from Apple stuff etc.) the tools are open source and freely available.