4 ms·
Paying for software does not have a relationship with quality. Imagine if GCC had a "pro" version that was necessary to compile certain code. That would be deva
by devwastaken 4y ago
Paying for software does not have a relationship with quality. Imagine if GCC had a "pro" version that was necessary to compile certain code. That would be devastating to those learning and thousands of devs that came before would be spinning in their graves.
The reason we do open source and free software is to make life easier for everyone, including your job. It standardizes practices and prevents mudball codebases comprised of black box libraries and tools.
Not to mention that selling of extensions is like selling of game mods. There's tons of stolen code.
- IshKebab 4y agoIt definitely has a relationship with quality in a fair number of domains. Find me free CAD software as good as SOLIDWORKS, or free maths software as good as MATLAB & Mathematica, or free EDA software as good as Altium or Vivado. There are loads of domains where none of the free options are very good.
- aDfbrtVt 4y agoI agree with you for the most part, I write this while running Matlab simulations in the background. Having tried to reach similar levels of productivity with Julia or Python, I find the FOSS environments always fall short in the tooling environment. Not to mention the importance of documentation. However, I can't help but take exception to Vivado and SOLIDWORKS being good software... While powerful, they are both incredibly buggy and prone to crashing if you so much as look at them wrong.
- cycomanic 4y agoThe only use case I can think where matlab beats Python or Julia is when one has a lot of legacy code. It's funny that you mention documentation, the amount of documentation found around Python is typically much better than matlab. Matlab toolboxes are really hit and miss, some are very good, but there are some really crappy ones. If you actually need to include more traditional programming features matlab becomes a hot mess. Looking at matlab GUI code gives me nightmares for weeks....
- aDfbrtVt 4y agoI would not wish Matlab GUI programming on my worst enemy. I disagree with your assertion that documentation for Python is typically much better. Take a randomly chosen function I regularly use: "pwelch" https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.welch.html https://docs.scipy.org/doc/scipy/reference/generated/scipy.s... https://www.mathworks.com/help/signal/ref/pwelch.html https://www.mathworks.com/help/signal/ref/pwelch.html Maybe my bias is showing, but I find the Matlab documentation to be superior. However, that is nothing compared the quality of the IDE which is critical when doing scientific compute. When I was re-evaluating our simulation environment at work, we looked at PyCharm. The plotting capabilities alone made it easy to stick with Matlab, even at the orders of magnitude higher cost. N.B. This is my experience in an Optical Communications R&D environment.
- cycomanic 4y agoFunny I'm in optical comms as well, chances are we know each other. I never used "pwelch" though. But I concur my statement on documentation was too strong, I guess it depends quite a bit. Regarding IDE, I guess we tend to put priorities on different things. I find pycharm's (pro edition) git Integration, debugging, refactoring and profiling vastly superior. I plot using regular qt windows and I agree that for interactive plots where one wants to look at points etc, matlab has the edge, for publication ready plots matplotlib beats matlab hands down though (although the API is quite verbose, proplotlib is a wrapper that makes things more convenient IMO). Anyway I think we have different priorities in what we are looking for. We use Python for labautomation and the matlab instrumentation toolbox is a buggy mess, our measurement times decreased by a factor of 5-10 when we switched from matlab. Regarding cost, we are a university so matlab and python have equal costs. I do know of colleagues at industry labs where matlab cost was a factor though.
- IshKebab 4y ago> However, I can't help but take exception to Vivado and SOLIDWORKS being good software... While powerful, they are both incredibly buggy and prone to crashing if you so much as look at them wrong. That hasn't been my experience. Solidworks definitely isn't as responsive as I'd like, but frankly I'll take "a bit sluggish but has all the major features and is not a UX disaster" over something like FreeCAD or Yosys.
- esrh 4y agoYou might be right in cad and eda, but there's surely a case to be made that python libs(numpy, sympy), sage, r, octave could be better that matlab or mathematica.
- IshKebab 4y agoI've used Numpy, Matplotlib, Octave and Scilab. None of them are really anywhere as good as Matlab. R has quite a different focus. The biggest thing Matlab has is the GUI (which is surprisingly good!), the documentation (excellent), and the plot viewer. The plot viewer is probably its killer feature. There's just nothing remotely as good in any other software, at least as far as I could find. Octave's is terrible. Barely any features and incredibly slow.
- indrora 4y agoCalling GCC a "good" compiler is going a bit far, imo. LLVM has become the dominant compiler framework (and thus clang, clang++, golang, etc use it) because of corporate interests. GCC as it's constructed is a horrible framework. The way you port GCC to a new platform (say, a weird ARM variant) is to fork it hard and mangle multiple parts of the internals, then carefully feed it back. It's a mess. Nobody should be forced to port GCC. The reason LLVM is good is because it has a corporate back (Apple, Google, IBM, ARM, Intel, Synopsys, NVIDIA, AMD, etc: https://foundation.llvm.org/docs/sponsors/ https://foundation.llvm.org/docs/sponsors/) and it has a lot of work put into it to make extensible (which GCC isn't by design) and as a result have a clean interface for usage. On the other side of this argument, paid extensions (and paid code in general) exists because at one point or another we live in a society run on capitalism. Unfortunately, that means that money has to come from somewhere to make bread hit the table. For a lot of open source, that money comes from one of two places: * Corporations (people doing work on open source projects under the auspices of their company) * Donations (people saying "this open source is good enough I want to make it continue happening"). One is sustained by maintaining the tools you use. The other is sustained by grace.
- car_analogy 4y ago> For a lot of open source, that money comes from one of two places: You missed a third place: government funding. Ironic, given that LLVM itself started as a University of Illinois research project. Private interests love taking credit for publicly-funded research: https://www.theguardian.com/science/2021/apr/15/oxfordastrazeneca-covid-vaccine-research-was-97-publicly-funded https://www.theguardian.com/science/2021/apr/15/oxfordastraz...
- hamdouni 4y agoAre you sure golang use LLVM ? I'm pretty sure it is not the case...
- indrora 4y agoOh, so it would seem not. Mea culpa.
- dnissley 4y agoI think you're forgetting that the people who work on GCC are usually paid to do so, and their work is funded by people buying software built with GCC.
- coldtea 4y ago>Paying for software does not have a relationship with quality. I'm taking "paying for software" here to mean "commercial" vs "open source", or "incoming money oriented" vs "community building oriented" development. Since, of course, you can also pay for open source, and there are free editions of proprietary commercial software, and foss can be sponsored by a big company who pays for 99% of the developer time through selling something else - so a distinction based on "paying" alone is not useful. So, does open source/free vs proprietary/commercial make any difference with regards to quality? It might not make in abstract, across the whole market, but in certain aspects and markets it does. No open source DAW (audio/midi editor) or NLE (video editor) is even close to commercial ones, for example. If you plotted features, maturity, stability, performance, etc. for foss and commercial versions of this types of product, you'd see a clear clustering of proprietary commercial software where you pay a lot for and free foss ones. The same is true for many pro fields.
- car_analogy 4y ago> The reason we do open source and free software is to make life easier for everyone, including your job. It standardizes practices and prevents mudball codebases comprised of black box libraries and tools. No, it is to maintain control. If you grow to depend on non-free software, you are at the mercy of its authors. Any benefits to quality are incidental.
- pizza234 4y agoGenerally speaking, commercial software gives more guarantees than free software, because free software writers have no obligations. Of course, there's no absolute certainty. Right now I'm stuck with an old version of a certain software, because the extensions are free, but some of the authors are not upgrading them anymore. If the extensions were commercial, I'd be happily paying, if that would give the extensions a longer lifetime. Having somebody working on an extension at least a part of their time, because it represents a source of income, surely makes a difference. Again, VSC's Ruby extension sucks big time. If there was a company behind, with a paid developer, like in IntelliJ's case, it would certainly have a different quality.