Anonymous 01/05/25(Sun)13:45:13 | 151 comments | 15 images
1520164454956
Which way, white man?
Anonymous 01/05/25(Sun)14:08:15 No.16536396
python is awful
matlab is 100 times more awful

at least you don't have to pay for python. matlab is dead at this point, there is absolutely no reason to use it.
Anonymous 01/05/25(Sun)14:13:51 No.16536408
Anonymous 01/05/25(Sun)14:22:09 No.16536418
>>16536408
what the fuck is wrong with you?
Anonymous 01/05/25(Sun)15:08:15 No.16536483
>>16536408
Based Excelchad.
Anonymous 01/05/25(Sun)15:10:49 No.16536486
>>16536475
anything microdick is instantly blacklisted in my book
and you are a (baby duck)^2 for first learning windows dogshit and the thinking a spreadsheet is an appropriate tool for everything.
Anonymous 01/05/25(Sun)15:23:35 No.16536502
I have both but I'm usually drawn to Python. MATLAB makes nicer graphs though.
Anonymous 01/05/25(Sun)15:52:46 No.16536528
>>16536396
whats awful about them?

>>16536372
matlab for now
Anonymous 01/05/25(Sun)16:07:02 No.16536537
>>16536396
really? using matplotlib makes me want to kill myself
>at least you don't have to pay for python
https://rutracker.org/forum/viewtopic.php?t=6355478
Anonymous 01/05/25(Sun)16:18:55 No.16536547
Anonymous 01/05/25(Sun)16:21:03 No.16536549
1730849728807723
>>16536528
>matlab for now
i strongly advise that you reconsider.
you are almost certainly a student right now, meaning you get a license to matlab provided for you as part of a deal that mathworks has negotiated with your institution.
as soon as you leave school, you will have to pay for your own license to continue using what you have gotten used to, which is extremely expensive.
moreover, research is to be shared, and requiring a license to share code is an artificial barrier.
in addition, because mathworks is a private company, if you find bugs in their (compiled) code, there is very little chance that mathworks will do anything to fix it. i almost had a 15M$ project sunk at the last moment because their UDP library is broken and would drop 99% of network packets that the OS was delivering to it. mathworks response was "lol, it's an unreliable protocol, so technically it works!"
the only industry that actually uses matlab is aerospace for simulink, which is a shame, but that's about the only reason i can think of to continue to use matlab outside of school.

>whats awful about them?
i could write a manifesto about why matlab is terrible. the above points are the most practical. however, if you do any amount of serious programming, you'll quickly find out that the design of the matlab language works against you almost every step way, and strongly encourages antipatterns that make you less effective at software development. this becomes a huge problem if matlab is the first programming language you get exposed to because you pick up all sorts of dogshit habits.

anyway, one example i can give you is that writing quality matlab code requires pre-optimization, which is a known antipattern. this is required because you must vectorize looped code, because matlab is terrible at processing loops. since everything is a multidimensional array, you then pack unrelated data into the same array and refer to field by index rather than a name

...
Anonymous 01/05/25(Sun)16:22:53 No.16536552
I'm not reading all that lil' timmy
Anonymous 01/05/25(Sun)16:27:28 No.16536554
>>16536549
>as soon as you leave school, you will have to pay for your own license
literally just torrent it for personal use, it's effortless

>design of the matlab language works against you almost every step way, and strongly encourages antipatterns that make you less effective at software development
that's the whole point, scripted "antipatterns" lend themselves better to scientific research than autistic OOP or even dogmatically functional programming. It's not a product made for codemonkeys, and I say that as an engineer who mostly works with python.

>you must vectorize looped code, because matlab is terrible at processing loops
and in exchange you get effortlessly vectorized code and parallelized loops (parfor), that compete with C++ perf
in scientific applications. Frankly I've found much better numerical libraries built into matlab than in Cpp Boost.
Anonymous 01/05/25(Sun)16:27:35 No.16536555
>>16536408
>python embedded into Excel

Great feature but too bad you have to pay for that shit after your use up your free tokens.
Anonymous 01/05/25(Sun)16:47:29 No.16536573
paper_that_makes_you_say_aaaa
...

python has it's own share of serious problems, but they are less serious.

the main problem with python is that it presents advanced data structures as basic types. this might sound ok at first, but it's a terrible to drop these concepts on to a person that doesn't appreciate their nuances. the result is a lot of dogshit code using the wrong choice of types because many support the same functions, but have wildly different computation complexities, both in time and space (which python gobbles down like OP gobbles dicks). good luck trying to explain to a n00b why mutable vs. unmutable types exist in the language. also, good luck trying to do basic shit like manipulate strings and bytes, man o man is that a cluster fuck.

not only that, but the global interpreter lock cripples the language for any high performance computing. one ends up patching the problems baked into python by resorting to C and C++ libraries to do things not allowed in python proper. in these situations, personally, the benefits of python do not outweigh the effort needed to bridge the languages, and i'd rather just develop in pure C or C++.

however, i'm willing to at least recommend python to the uninitiated because it's free, has a huge active community (so packages are constantly being updated to fix bugs and extend functionality), is popular so there are lots of examples, and people seem to feel comfy with it. moreover, it's the scripting language of choice for things like Blender (and more recently freecad?).

between python and matlab, python+numpy is the way to go in 2025.
Anonymous 01/05/25(Sun)16:47:32 No.16536574
Anonymous 01/05/25(Sun)16:57:05 No.16536580
>>16536574
somehow even worse than matlab
enjoy your indecipherable single line programs that are 2000 characters long
btw, my grad adviser was quite famous for a little while, and a visualization of theirs found its way into some pop culture. mathematica contacted them shortly afterwards asking why the hell he didn't have a license for their software.
Anonymous 01/05/25(Sun)19:03:36 No.16536670
Rtards
>>16536372
Consider a third path
Anonymous 01/05/25(Sun)19:09:34 No.16536673
>>16536670
No offense intended, but you should KYS yourself please.

Best regards,
Anon
Anonymous 01/05/25(Sun)19:19:36 No.16536676
I'm a compass and straight edge kinda guy
Anonymous 01/05/25(Sun)19:21:24 No.16536678
Anonymous 01/05/25(Sun)20:20:18 No.16536743
>install matlab 2024b version
>it just works and doesn't mess up with other programs

>try to install python
>sometimes you need and specific version, it's hard to maintain, updates are fucking terrible to handle, you have to create several """"""environments"""""" to not fucking break shit up
>and matplotlib fucking sucks

Yeah I'm sticking with pirated matlab
Anonymous 01/05/25(Sun)20:22:33 No.16536747
>>16536574
I'm no corpo bootlicker but goddamn their DE Solver BTFOs the competition so much it's unreal
Anonymous 01/05/25(Sun)21:29:57 No.16536813
>>16536549
i use matlab for prototyping new algorithms. why would i care about how slow my for loops are?
Anonymous 01/05/25(Sun)21:47:27 No.16536826
>>16536743
This, but I get free matlab at work.

I used to use python but I got a fucking aneurysm everytime I had to set it up

>remember x package works with 3.8.x then use wheels for y package so doesn't interfere with z.

>want to use it in vscode? how about your systempath and the jupyter notebook kernel, might as well get a million vscode addons

>don't you want different environments for different types of work? add venv on to the mess... but there's also virtualenv cause the community cant agree on anything, oh OR you could use Conda to get a fake MATLAB all in one experience but it's just bloat piled on more shit

vs matlab

>download, install, I can do my job
Anonymous 01/05/25(Sun)21:54:07 No.16536829
>>16536826
Sounds like a skill issue. You'd be helpless in C++
Anonymous 01/05/25(Sun)21:55:52 No.16536831
>>16536826
>This, but I get free matlab at work.
that's what every imbecile i've met says
i'm glad i was able to get most people in my lab to move away from matlab, it only took 5 years for them to see the light
Anonymous 01/05/25(Sun)21:58:15 No.16536835
>>16536829
>You'd be helpless in C++
I wrote C++ in Unreal Engine 4 for 2 years professionally

>Sounds like a skill issue
I choose where to put my effort
Anonymous 01/05/25(Sun)22:13:39 No.16536846
>>16536372
fuck that matlab syntax
Anonymous 01/05/25(Sun)22:14:55 No.16536850
>>16536835
I'm proud of you anon. Keep up the good work. Still, Matlab seems categorically inferior to Python in all dimensions, thoughbeit.
Anonymous 01/05/25(Sun)22:27:12 No.16536859
>>16536850
thanks. I generally hate using both. Thats why I switched from software to electrical engineering. fuck coding
Anonymous 01/05/25(Sun)23:11:55 No.16536894
>>16536859
Fair enough. I usually hear the inverse, electrical engineers becoming software engineers. Whatever works for you. We need people building real shit.
Anonymous 01/05/25(Sun)23:27:01 No.16536911
>>16536372
Matlab if you are in an engineering program, otherwise Python
Anonymous 01/05/25(Sun)23:48:23 No.16536930
>>16536408
For reasonably small and a bit disorganized data there's just nothing better in terms of speed. You won't finish googling the intricacies of pandas in your specific case when I'll finish the job already, after having seen and edited wonky data by eye.
Anonymous 01/05/25(Sun)23:52:18 No.16536931
Anonymous 01/06/25(Mon)00:12:44 No.16536938
>>16536931
I see you never encountered new shitty data and a lot of diverse analysis tasks appearing on the fly. Excel had been my goto instrument for many years. You do some python scripts for repetitive stuff but for every single use situation it's just inefficient.
Anonymous 01/06/25(Mon)01:05:31 No.16536955
>>16536574
Used this shit constantly when I was in grad school - it's great for comp phys and it's still the best when it comes to making great, professional-looking figures for publications - but it's the Macromedia Flash of its time; the cracked versions are unreliable and a legit version costs more than the people who would make the most use of it can afford. You either luck out and get a job at an institution that has a site license, or you deal with the shitty crack.
Anonymous 01/06/25(Mon)01:19:27 No.16536963
>>16536670
>>16536574
>>16536408
>>16536372
I hate all of this shit. Except python, I just moderately dislike python.
Anonymous 01/06/25(Mon)10:53:48 No.16537263
>>16536955
>the cracked versions are unreliable
No they aren't, it's easier to pirate it than matlab even, and wolfram alpha queries work lel
Anonymous 01/06/25(Mon)11:52:53 No.16537326
Anonymous 01/06/25(Mon)12:18:47 No.16537352
>>16536486
you are a retard
Anonymous 01/06/25(Mon)12:51:21 No.16537376
MATLAB: everything works out of box. Including links to other programs like COMSOL

Python: from open source tinkerers to open source tinkerers
Anonymous 01/06/25(Mon)12:55:35 No.16537381
computerlel
>>16536955
>it's still the best when it comes to making great, professional-looking figures for publications
Anonymous 01/06/25(Mon)13:18:36 No.16537395
>>16536938
I get you. Python is great, but I had to run my code across 47 differently formatted sources. I gave up on trying to be smart after seeing yet another 'someone used this schema 40 years ago so we stick with it' data set. Waste an hour to figure it out with grep-awk-sed combo for each of those or just import it to LO Calc and do it manually wasn't exactly a tough decision.
Anonymous 01/06/25(Mon)14:11:58 No.16537434
I used C++, python and MATLAB in university courses, each to a very limited extent.

During my PhD I used MATLAB because that's what the group used. Afterwards I moved to python because I didn't want to pay. Everything I do is basic shit on the level of read data from input files, process data with various ways, generate plots/output files. My coding skills are pure ass, I don't know what complexity is and whether my piece of shit takes 0.1 or 10 seconds to run is inconsequential.

For this level of usage it really doesn't matter, anything above an abacus is useable, python enables me to just import the solution and MATLAB usually has it already built in or at least available in a toolbox.
Anonymous 01/06/25(Mon)14:49:59 No.16537467
>>16537434
>I moved to python because I didn't want to pay
That's what pirating is for.
Anonymous 01/06/25(Mon)14:52:39 No.16537471
>>16537467
faggots that lock themselves into proprietary technology (even by pirating it) promote shit software ecosystems
Anonymous 01/06/25(Mon)15:56:14 No.16537530
>>16537434
what about gnu octave
Anonymous 01/06/25(Mon)15:59:32 No.16537538
>>16537530
it's even worse than matlab, but at least it's free.
whenever i've programmed matlab, i generally made sure that the program will also work in octave so i can distribute it to people and be sure they can actually run it. the implementation is pretty bad, though, and it is very slow.
Anonymous 01/07/25(Tue)00:04:33 No.16537904
>>16536408
Keyed Boomer. Real engineers just whatever they're most familiar with, regardless of whether or not it's the most efficient.
Anonymous 01/07/25(Tue)00:14:07 No.16537909
>>16537904
you'd never get past counting on your fingers if this were true
Anonymous 01/07/25(Tue)00:27:38 No.16537911
>>16537909
Tools aren't as important as what you know or what you do with those tools.
Anonymous 01/07/25(Tue)00:40:23 No.16537915
>>16537911
and you aren't gonna make a precision watch with a club
Anonymous 01/07/25(Tue)01:04:40 No.16537921
>>16537915
Take it easy on the strawman, we need the crops.
Anonymous 01/07/25(Tue)01:14:05 No.16537925
>>16537921
choosing the right tool for the job is part of competency.
try wrenching on your car with only a wrench. sure, you'll be able to do some things, but without that tire twaddler it's going to go badly.
Anonymous 01/07/25(Tue)02:56:53 No.16537954
>>16537925
Sure. And when you can reach the same result a million different ways, the right tool is the one you're the most familiar with or the easiest one to use.
Anonymous 01/07/25(Tue)03:12:20 No.16537958
>>16537530
Try Scilab
Anonymous 01/07/25(Tue)03:36:15 No.16537965
>>16536547
Only good take.
I asked a friend of mine on some info on Julia and replaced a Python library I was using for my thesis with my own code that was 100x faster. Thank God for static allocation.
Anonymous 01/07/25(Tue)03:46:32 No.16537971
>>16536372
Matlab for numerical
Mathematica for symbolic

>>16536547
Julia is appealing but I never felt a strong need to switch.
Anonymous 01/07/25(Tue)16:02:15 No.16538495
>>16536372
Everything is happening in Python now
It's the language of AI and scientific computing
There's no reason to use Matlab for new code now except contrarianism
Anonymous 01/07/25(Tue)18:06:32 No.16538610
>>16536408
TPBP
/thread
Anonymous 01/07/25(Tue)18:11:26 No.16538620
i'd say up front, matlab is more convenient, but longterm you're gonna want python because some library like numpy or w/e will be maintained far more easily
Anonymous 01/07/25(Tue)22:05:13 No.16538816
>>16538495
Or if you're working on really fucked constrained optimization problems. Matlab does still have a lot more tricks up its sleeve with constrained minimization than scipy/optim.ml handle well.
Anonymous 01/08/25(Wed)00:57:33 No.16538920
png-transparent-c-logo-c-programming-language-icon-letter-c-blue-logo-computer-program-thumbnail
>>16536372
You're all a bunch of faggots
Anonymous 01/08/25(Wed)01:02:19 No.16538925
>>16538920
This, only midwits don't reinvent the wheel for their thesis.
Anonymous 01/08/25(Wed)01:21:54 No.16538929
>>16538920
i'm a hardened C advocate, but when working in teams you sometimes have to bend over backwards to give your badass C code an interface your colleagues will actually use.
Anonymous 01/08/25(Wed)01:49:32 No.16538936
>>16538925

They're called libraries. Python is for people who choose not to understand how a computer works, so they will make assumptions about it that are wrong.

https://www.vice.com/en/article/a-code-glitch-may-have-caused-errors-in-more-than-100-published-studies/
Anonymous 01/08/25(Wed)01:51:51 No.16538939
>>16538929
Guess what?

https://docs.python.org/3/extending/extending.html
Anonymous 01/08/25(Wed)02:09:41 No.16538947
>>16538936
>Python is for people who choose not to understand how a computer works
Cniles actually believe this kek
Anonymous 01/08/25(Wed)02:20:08 No.16538954
>>16538939
i've made plenty of python interfaces for my C libraries in the past, because when you are doing actual systems programming python just doesn't cut it performance wise.

>>16538947
i have yet to meet a pyfag that does
Anonymous 01/08/25(Wed)02:24:27 No.16538957
>>16538954
>i have yet to meet a pyfag that does
Well now you have, and I can tell from the way you talk that you're just a larpfag anyway
Anonymous 01/08/25(Wed)02:32:35 No.16538959
>>16538957
wtf, i love pyfags now and was totally wrong about their incompetence
Anonymous 01/08/25(Wed)06:41:04 No.16539036
>>16538947
I'd rather be Cnile than a not-c.
Anonymous 01/08/25(Wed)06:59:49 No.16539051
>>16536372
[spoiler]neither[/spoiler]
Anonymous 01/08/25(Wed)08:18:06 No.16539082
>>16536673
What's wrong with it?
>t. clueless
Anonymous 01/08/25(Wed)09:07:34 No.16539110
>>16539082
Its Haskell for autistic children
Anonymous 01/08/25(Wed)09:09:16 No.16539112
>>16536372
matlab is a commercial software that runs on Java.
Nothing can ever make me want to use anything Java. Java is the digital Satan
Anonymous 01/08/25(Wed)09:11:28 No.16539114
>>16536573
python is garbage, but there is nothing better to hack together a poorly thought out script that does the one thing you want to do right now
Anonymous 01/08/25(Wed)10:47:36 No.16539177
Anonymous 01/08/25(Wed)13:32:58 No.16539373
1715072977636367
>>16539114
from my decade of experience doing lab work, that "poorly thought out script that does the one thing you want to do right now" quickly becomes the defacto standard REAL quick
Anonymous 01/08/25(Wed)13:36:40 No.16539376
>>16539112
This is literally not true. Only the visual environment and user interface are written in Java. All of the core services and backend are written in a mix of C, C++ and Fortran. It's only the visualization and GUI that use Java in any capacity.
Anonymous 01/08/25(Wed)19:52:31 No.16539721
>>16539373
This is value-added
Anonymous 01/08/25(Wed)20:47:45 No.16539749
>>16539373
blame the people who are too lazy to just make their own new thing
Anonymous 01/08/25(Wed)20:54:06 No.16539752
>>16536547
Based answer. Julia but there's also R I guess. Matlab sucks cock and Python is bleh.
Anonymous 01/08/25(Wed)21:38:57 No.16539761
>>16536547
>>16537971
>>16537965
>>16539752
>Julia
https://archive.yuri.is/not-julia/
Anonymous 01/08/25(Wed)23:13:59 No.16539827
>>16536372
Julia and Mathematica are both superior.
Anonymous 01/08/25(Wed)23:16:37 No.16539829
>>16536483
it's the truth.
I am an autistic python nerd and I spend decades making beautiful plots in matplotlib, but my collaborator just does everything in excel or with quick matlab scripts if excel can't do it, and he publishes 17x as much as me. The graphs look okay and nobody reads our papers anyways. I just can't do it because of autism.
Anonymous 01/08/25(Wed)23:23:36 No.16539844
matplotlib + scipy + pandas is the trifecta. it does 99.9% of what matlab does and is built on a scripting language that is actually useful.
Anonymous 01/09/25(Thu)01:10:43 No.16539930
>>16539844
>pandas
cancer
>matplotlib
autism
>scipy
irrelevant
Anonymous 01/09/25(Thu)01:23:34 No.16539943
>>16539930
blas and cublas underlies all performance linear algebra software, whatever high level api you are using to call it is a matter of taste
Anonymous 01/11/25(Sat)03:32:01 No.16542335
every person i see complaining about one option or the other gives the impression that they lack the ability to adapt or solve problems large enough to warrant either, so i've concluded that you're all larping faggots.
Anonymous 01/11/25(Sat)03:35:11 No.16542337
>>16542335
t. larping underage hyperfag
Anonymous 01/11/25(Sat)09:26:23 No.16542501
I've tried both when I was an EE undergrad major
Python can do *almost* everything but it's lacking in the control systems department, plus it has no simulink equivalent
Matlab is slow as fuck, limited, teaches you bad programming habits and it's not free
Anonymous 01/11/25(Sat)13:24:29 No.16542766
>>16542501
controls system theory is just signal processing, and there are certainly libraries for that
Anonymous 01/11/25(Sat)13:31:46 No.16542771
Anonymous 01/11/25(Sat)13:40:31 No.16542784
>>16542766
> Control system theory is just signal processing.

NTA. This is kind of true, but also not really true. They are both "about" filtering via analytic functions of complex variables.

Signal Processing generally uses Fourier analysis because we want those filters to be unitary (i.e., we don't generally want to alter the value of parts of the signal we want to keep). Control theory explicitly doesn't want unitary filters because we are specifically looking to move the poles/zeros of the system. You would, as an example, pretty much never intentionally use a direct integrator in a signal processing context. That would guarantee instability for any signal with a DC component, and would also result in destructive quantization errors as the integrated noise accumulates.
Anonymous 01/11/25(Sat)13:56:32 No.16542795
>>16542784
fourier analysis is useful for any linear time invariant system
yes, fourier transforms are unitary transformations, but filters are rarely unitary
signal processing concerns the entire shebang, including notions of stable and unstable systems, causal and and acausal systems, bounded and unbounded systems, etc.
often times in application you restrict yourself to some of these properties, but the business of signal processing is to analyze all of those cases under a unified framework
Anonymous 01/11/25(Sat)14:19:56 No.16542819
>>16542795
I've spent a lot of time working on signal processing. To be frank, in a signal processing context you are not generally trying to modify the future behavior of the signal you are capturing. You may be doing some internal filter modeling (e.g., Kalman filtering) but there is no expectation that you have to ability to directly modify the behavior of the signal you are observing.

They seek to accomplish completely different things. You may have some Lyapunov observer style filter or something with internal dynamics so that you can observe some particular aspect of the signal, but there's never an expectation that you can actively change the next ground truth value.

In contrast, controllers are filters that are directly designed to modify the future behavior of the signal (i.e., change the ground truth, not just your observations). It is a completely different approach to the problem.

Also, this couldn't be further from the truth:
> fourier transforms are unitary transformations, but filters are rarely unitary

The whole point of an FIR/IIR filter design (as an example) is that it's basically unitary in the pass-band and exponentially decays outside of the pass-band. That's literally the whole idea, to be unitary in a specific frequency region and as close to zero as you can manage everywhere else.
Anonymous 01/11/25(Sat)14:46:33 No.16542856
>>16542819
the subject of signal processing absolutely concerns itself with feedback loops, that's a major component of it
also, a unitary transformation does not change a signal's inner product. most filters do not have this property. for instance, a box filter (1s in the passband, 0s everywhere else) is not a unitary transformation.
Anonymous 01/11/25(Sat)14:47:55 No.16542858
this is the book i learned signal processing from, and it contains all of this stuff and more
https://file.fouladi.ir/courses/dsp/books/%28Prentice-Hall%20Signal%20Processing%20Series%29%20Alan%20V.%20Oppenheim%2C%20Ronald%20W.%20Schafer-Discrete-Time%20Signal%20Processing-Prentice%20Hall%20%282009%29.pdf
Anonymous 01/11/25(Sat)15:20:31 No.16542887
>>16536549
NTA but for me, there's a 1st year class called "algorithms and programming" and the language taught is, you guessed it, Matlab. Profs insist that it will absolutely be helpful in future where we'll be fucking around with electrical fields and emrf but I would much rather learn C/Java/python/literally anything else, at least I already know those
Anonymous 01/11/25(Sat)16:18:27 No.16542942
>>16542887
It doesn't matter, it's just another language, they're all basically the same
Anonymous 01/11/25(Sat)17:11:34 No.16543022
>>16542942
practically i feel like the requirement for a license is a huge barrier for sharing research
Anonymous 01/11/25(Sat)17:34:32 No.16543048
>>16536372
I hate matlab but everyone at my work runs on it and I've been using it for years. At this point, I'm pretty good. I'm the house nigger on the matlab plantation.
Anonymous 01/11/25(Sat)18:35:49 No.16543083
>>16542856
You keep dancing around the basic fact that signal processing is not "about" controlling a signal. Yes, they both have graphs, they both have block diagrams, they both have filters. The entire purpose of the use of those tools is different in signal processing vs. control. As a result, different assumptions will be present and different strategies will be used. This is really not that hard, I don't know why you are being a stubborn little bitch about this.
Anonymous 01/11/25(Sat)18:49:09 No.16543088
>>16536372
If you know one you know the other, who cares.
Anonymous 01/11/25(Sat)19:04:02 No.16543103
>>16543083
i'm just pointing out that you are making a distinction when there is none
Anonymous 01/11/25(Sat)19:08:02 No.16543105
the only distinction i can think of is that control theory is a subset of signal processing, since you are going to be restricting yourself to causal systems
Anonymous 01/11/25(Sat)20:00:09 No.16543152
>>16543103
>>16543105
You aren't pointing anything out, because you aren't correct. The only way you can possibly believe these are the same fields is if you've never opened up a DSP textbook and compared it to a digital control textbook. They don't cover the same topics. They both use the concepts of "feedback" and "stability" and "filtering" but they are doing entirely different things with them and as a result produce different approaches to solving their problems.

There's no equivalent to state-variable feedback control (as an example) in DSP because you aren't trying to control the dynamics of the signal. It's a completely different problem. There's no "action" or "decision" problem in signal processing. They don't even have the same goals.
Anonymous 01/11/25(Sat)20:31:23 No.16543188
>>16536549
>Software development
And there's the problem. Hamming called. You don't understand psychological languages.

There are issues with Matlab, but you can just use open source forks like octave.

Have you ever considered that engineers don't care about software development? It's literally not their job. They don't care about patterns or anti patterns. They use this as an advanced calculator and for that it is better than object oriented languages simply because functions and specifically the flavors that are matrix/linear algebraic is closest to actual written math.

Python is fine I guess, but I actually push engineers more towards R which similarly encourages vector operations over loops.
Anonymous 01/11/25(Sat)20:34:16 No.16543195
>>16543022
Yeah it is. Which is why engineers also like it. Does /sci/ really not understand that engineers are very closed source individuals/professions? They don't give solutions away for free. Most, outside academia, don't publish shit in journals and if they really figure something special out, they go and spin up a company with an MBA friend out. This is 95% of aerospace and engineering consulting firms btw.
Anonymous 01/11/25(Sat)20:51:33 No.16543211
Everyone in my office uses R (the more statistician flavored types) or Python (the more data base/software dev types). These languages are interchangeable to me at this point.

I think better in R than Python (depending on the problem). If I'm doing stuff with heavier calculations, stats, probabilistic math, I use R. If I'm doing anything else or doing something that really involves thinking in terms of objects (which I have no issue with) I use Python.

I do not use C/C++, Matlab (why use something you have to pay for in 2025?), or Julia (it's not approved at my work). Personally, all programming feels the same. I learned C++ as my first language, then Python, then Matlab at work, and then R during my graduate program. They all 'feel' different but it's not like I'm exactly inhibited one way or another.

Too much time is spent arguing about languages. The math is the interesting thing. I do like to take some ideas from software dev practices, but I also find a lot of it to be pedantic (as if they come up with best practices to work with the most retarded of individuals...).
Anonymous 01/12/25(Sun)09:26:23 No.16543672
>>16536549
Matlab handles loops very well due to jit compilation, whereas Python is terribly slow at it and you have to vectorize your code using numpy. But when writing an extensive simulation you usually don't have that luxury. Julia is a much better alternative to Matlab because it is faster and free. Python is nowhere close to them.
Anonymous 01/12/25(Sun)10:46:26 No.16543749
>>16543672
i am (reluctantly) a matlab expert that has optimized plenty of extremely non-trivial code over the years to get massive speed up in matlab pulling every trick in the book (and even ones not in the book) and i can safely say that matlab is slow as molasses. so is python for similar and also completely different reasons. the amount of effort and planning needed to get matlab to poke along at even semi acceptable speeds is incommensurate with the result.
matlab being slow isn't news to anyone. there are 100 other reasons to avoid using it, ranging from fundamental language design to quality of libraries, to the licensing nonsense.
Anonymous 01/12/25(Sun)12:00:39 No.16543793
1494340328812
>>16539844
Can you sell me on pandas? I feel like it should give a lot of utility if I can stick all my dependent and independent variables together into a dataframe and analyze the results through that. But I've never managed to convince myself pandas works well for that; it always seems like too much effort to pick up and I've used multi-dimensional numpy arrays instead. Am I not in the field pandas is intended for?

t. QC experimentalist
Anonymous 01/12/25(Sun)16:52:53 No.16544078
>>16543749
>pulling every trick in the book (and even ones not in the book)
any tips besides vectorizing?

>and i can safely say that matlab is slow as molasses
I have some vectorized MATLAB code (lots of special trig/complex exponential functions) that is several times faster than the C++ equivalent compiled with every optimization flag. I'm pretty astounded
Anonymous 01/12/25(Sun)18:53:04 No.16544175
>>16544078
I guarantee you're doing something dumb with the C++ that would be an easy and leaving 10x performance on the table
Anonymous 01/12/25(Sun)21:14:28 No.16544307
>>16537921
Cool non sequitur.

>>16537954
Does not necessarily follow. Try again, and use reasoning this time.

>>16538495
"No True Scotsman" for the Computer Programmer. You get a D+.

>>16539376
Red Herring argument essentially.

>>16543022
Nnnnnnnnnnnnnot necessarily?
Anonymous 01/12/25(Sun)22:25:07 No.16544366
Capture
>>16544175
You tell me - I ported MatLab's quadgk (adaptive numerical quadrature) built in method to C++ and tested its overhead with simple integrands. Then I asked Claude to generate a difficult, highly oscillatory test function to integrate and compare performance, and C++ falls behind.

C++ and MatLab have identical results up to 10^-7 in double precision, which makes me think C++ is more accurate and matlab is using some fast floating approximations. Both integrations are tuned identically.

Scipy's integrate is tragically slow and doesn't offer remotely accurate results.

>I guarantee you're doing something dumb with the C++
This is a lot harder than you think nowadays with compiler optimizations
Anonymous 01/13/25(Mon)08:25:36 No.16545940
>>16544307
What is the red herring? If you don't want to use Matlab, don't use Matlab. You don't need to pretend that Matlab is Java as an excuse not to use it. You could write your .m files in an editor and run your Matlab scripts from the command line and you'd get all of the functionality (sans visualization) and literally never interact with any of the Java parts of Matlab (which are solely contained in the GUI and plot visualization features).

Arguing that you don't want to use it because it's expensive, or slow, or doesn't do some specific thing you want are all legit. Arguing you don't want to use Matlab because Matlab is secretly Java is just dumb.
Anonymous 01/13/25(Mon)10:07:59 No.16546007
1649713744578
>>16536372
Data processing in Python, figure making in Excel and Powerpoint unless I need to do more than 10 figures in which case I'll automate it in Python
Anonymous 01/13/25(Mon)11:28:22 No.16546101
>>16544307
That's a cool list of fallacies you've read today. Glad you learned something new. Shouldn't have stopped at letter R though, then you'd learn what strawman argument means too!
Anonymous 01/13/25(Mon)12:52:35 No.16546215
>>16543195
>they go and spin up a company with an MBA friend out
man, the first thing i want to do when making a start up is to pay a $1015/seat/year licensing fee for a programming language, crap libraries, and dogshit ide since i have that extra money laying around
Anonymous 01/13/25(Mon)16:02:07 No.16546427
>>16544366
>compiler optimizations
do nothing to help you with the retarded amount of heap allocations in that code
Anonymous 01/13/25(Mon)16:03:43 No.16546431
>>16545940
>comes with JVM
>its not java!!!!!11
I accept your concession.
Anonymous 01/13/25(Mon)16:22:10 No.16546450
>>16546101
Low effort deflection. Just *try* to be a little smarter, okay?
Anonymous 01/13/25(Mon)17:29:01 No.16546533
>>16546431
Okay, so you're just retarded. Matlab also installs with Python interfaces, and C++ interfaces. Are you going to pretend that Matlab is C++ too?
Anonymous 01/14/25(Tue)03:53:16 No.16546965
>>16544366
Eigen doesn't even vectorize that
Split real and complex into separate vectors to eliminate everything cross-lane
Anonymous 01/14/25(Tue)03:54:16 No.16546966
>>16546965
*real and imaginary
Anonymous 01/14/25(Tue)10:51:41 No.16547177
Anonymous 01/14/25(Tue)11:30:25 No.16547235
>>16536372
Matlab is useless outside of academia while Python is not.
The greatest surprise however is that relatively big companies use the turd that is Labview. I thought this was only meant to be some baby's first coding shit but no, there are actual engineers being paid real money to develop stuff in it. It's exactly as slow and shit as you expect it to be.
Anonymous 01/14/25(Tue)11:35:03 No.16547238
>>16544366
I can't trust matlab perf numbers after they intentionally gimped AMD performance for years by not enabling vector extensions on it.
Anonymous 01/15/25(Wed)08:27:15 No.16548198
abc
>>16543211
Software dev practices are answers to enduring problems that accompany maintaining multimillion line code bases developed by large teams over many years. In large part many of the practices are for managing complexity. Nobody can fit the entire code base in their head. The new guy needs to be able to ramp up quickly and start making contributions. The guy who wrote a system might have left the company years ago. Requirements change, bugs are reported. An engineer needs to dive into an unfamiliar part of the code base to debug, make additions or change existing functionality in a timely manner without risk or fear of breaking other areas of the system. So the cognitive burden required to ramp up and make those necessary changes needs to be kept to a minimum and the blast radius of those changes needs to be isolated. For this reason code is written to be as simple as possible within the context of a well designed modular architecture with minimal dependencies and low coupling and comprehensive test coverage. So simple even a junior or retard could understand it and make changes, because even if all of your colleagues are geniuses, the complexity inevitably becomes overwhelming when scaled to the size of a multimillion line industrial code base with the ever present pressure to deliver within unrealistic deadlines.

"Academic code" is developed under a very different set of constraints. Often it's a small one off project developed rapidly by a few people to publish a single paper to be subsequently tossed away and never used or added to again. Academic code could learn a lot from the learnings of industry. I'd wager that the vast majority of code associated with a paper can no longer even be built. The code is probably not accessible, and if it is, the incompatibilities and unavailability of the 100s of dependencies and the super specific environment the researcher developed the project in is not reproducible, and therefore the study not replicable.
Anonymous 01/15/25(Wed)13:18:33 No.16548484
>>16548198
The codebase is expanding to meet the needs of the expanding codebase.
Anonymous 01/15/25(Wed)15:12:33 No.16548594
>>16546533
>Matlab also installs with Python interfaces, and C++ interfaces
The JVM is an entire bloated runtime engine with a massive memory footprint. It's not an interface, and not comparable to a C++ interface. There's no concept of interfaces in Python as it's a dynamic interpreted language.
Anonymous 01/15/25(Wed)15:24:50 No.16548612
>>16548594
You literally can disable the usage of JVM by Matlab with a single button click in the settings. Literally the only time use of the JVM is mandatory on Matlab is if you are having Matlab interface with Java libraries specifically (e.g., for some XML scraping tools). You're fishing, and being a fucking retard in the process.

The interface it installs for Python is a runtime engine similar to a Jupyter kernel or a Julia kernel so it can do the "just-in-time" compiling thing while still being able to interface with whatever Python libraries you are using.
Anonymous 01/15/25(Wed)15:35:41 No.16548620
>>16536408
This, but Sheets, which is the same thing for all intents and purposes.
Anonymous 01/15/25(Wed)15:46:58 No.16548629
>>16548612
>The interface it installs for Python is a runtime engine
>to interface with whatever Python libraries you are using
So in other words, in addition to the bloated JVM runtime, Matlab also pulls in the bloated memory hungry Python interpreter so you can call into Python libraries, which are actually just wrappers for C libraries, instead of the Matlab just exposing the C libraries directly which would be trivial considering Matlab is implemented in C. Sounds like a very well designed and ergonomic tool.
Anonymous 01/15/25(Wed)15:54:29 No.16548632
>>16548629
>so you should really focus on all of these features not related to your work
>C is king
>you better give your software away for free
>also you are evil EVIL EVIL if you arent a tranny cummie
Anonymous 01/15/25(Wed)16:16:16 No.16548655
>>16548629
Yeah, you literally have brain worms. Do you also get this retarded about people using Jupyter kernels (which function almost identically to Matlab engine), or are you just particularly brain rotted when it comes to Matlab?

Again, you don't need to use Matlab. You should just actually have a real reason to criticize it instead of making up nonsense. If you don't have an issue with a Julia live kernel, or people using iPython/Jupyter kernels for just-in-time Python, you shouldn't have an issue with the Matlab engines. They work almost exactly the same way and use basically the same amount of resources.

If you are so concerned about efficiency that you won't allow kernels for development uses, why not just skip the C middleman entirely and write everything directly in machine-code?
Anonymous 01/17/25(Fri)14:19:23 No.16554123
>>16536549
Kind of a retard take to call vectorization an antipattern in a language called MATLAB ("MATrix LABoratory")

The fact that matlab is proprietary is a genuine downside, though torrents exist. Still I wouldn't recommend sticking to matlab, unless you're the type of stemcel who's gonna end up banging your head on simulink anyway. Then again perhaps people should not listen to me; if they did, they'd end up using fortran (likely for something it's not good for)
Anonymous 01/17/25(Fri)15:13:03 No.16554190
>>16536372
if your uni or corporation pays for matlab then you might as well use it
very simple and makes very nice graphics
everything is built-in

Python can pretty much do all those things, but you need to learn packages like numpy, scipy and other shit
it gets easier every year so I'm pretty sure Python is the future of scientific programming
Anonymous 01/18/25(Sat)06:34:39 No.16555005
>>16536670
ah yes, possibly the worst programming language in the world, even worse than perl
Anonymous 01/18/25(Sat)16:45:05 No.16555620
>>16536549

Python gives bad practices for software development (and more generally how a computer works). But you can somehow recover from it.

With Matlab, it's over.
Anonymous 01/18/25(Sat)16:46:42 No.16555625
>>16536573

I think the GIL was "removed" in last stable releases.
Anonymous 01/21/25(Tue)01:09:49 No.16558406
>>16555625
That's right
Anonymous 01/21/25(Tue)01:15:56 No.16558407
>>16555625
[citation needed]
that's like saying "fusion is just 40 years away" for like 80 years now.
Anonymous 01/21/25(Tue)11:25:01 No.16558852
>>16536372
Used both. I prefer MATLAB's syntax.
Anonymous 01/21/25(Tue)13:33:20 No.16558995
typescript
>>16536372
peak performance is javascript
Anonymous 01/22/25(Wed)14:31:00 No.16560279
bumping for quality discussion
Anonymous 01/22/25(Wed)22:37:29 No.16560797
>>16536408
you can create your own addins for Excel using Visual Studio and writing them in C#, or use what others have already created.
Anonymous 01/22/25(Wed)22:58:09 No.16560810
>>16536372
Does anyone use FORTRAN anymore?