this post was submitted on
8 points (61% like it)
21 up votes 13 down votes
all 79 comments

[–]thetrippMedical Physics|Radiation Oncology 9 points10 points ago

sorry, this has been archived and can no longer be voted on

Matlab.... every day. It makes dealing with (and visualizing) huge datasets so easy.

As for bioinformatics, most of the ones I know use Perl.

[–]rm999Computer Science|Machine Learning|AI 6 points7 points ago

sorry, this has been archived and can no longer be voted on

When you deal with actually huge datasets you'll realize why matlab doesn't work ;)

But yeah agreed, matlab/octave are great.

[–]DoorsofPerceptronComputer Vision|Machine Learning 0 points1 point ago

sorry, this has been archived and can no longer be voted on

You beat me to this comment ;)

Even matlab's plotting fails when you start using medium amounts of data. I had to write my own rendering tool a few months ago.

[–]dylanevl 1 point2 points ago

sorry, this has been archived and can no longer be voted on

I'm a coder-- and I envy your math skills. I couldn't write a rendering tool to save my life. Or, ya know, to render with.

[–]DoorsofPerceptronComputer Vision|Machine Learning 5 points6 points ago

sorry, this has been archived and can no longer be voted on

I cheated heavily. It's all about careful use of other peoples opengl libraries.

[–]dylanevl 4 points5 points ago

sorry, this has been archived and can no longer be voted on

We coders don't call that cheating, we call that efficiency. No need to reinvent the wheel.

I never got past calculus and have trouble even understanding the arguments for those kinds of libraries.

[–]Phantom_Hoover 0 points1 point ago

sorry, this has been archived and can no longer be voted on

It's all simple until they start talking about quaternions.

[–]EIrosAeronautical Engineering|Fluid and Thermal Sciences 1 point2 points ago

sorry, this has been archived and can no longer be voted on

Quaternions are fun! Not that I understand them completely either, but who does?

[–]qkoexzMechatronic/Robotics Engineering 1 point2 points ago

sorry, this has been archived and can no longer be voted on

What would be the order of magnitude for a "medium" size set of data? As an undergrad I've only got to use maybe ~40000 points of data so far.

[–]DoorsofPerceptronComputer Vision|Machine Learning 0 points1 point ago

sorry, this has been archived and can no longer be voted on

The usual disclaimer is that this varies from field to field, and we all exaggerate about how hard our work is. But for me medium is 100 frames of vga ish data.

so

100*500*400 =20 million

It's less than 10 seconds footage from a cheap webcam.

[–]thetrippMedical Physics|Radiation Oncology 0 points1 point ago

sorry, this has been archived and can no longer be voted on

There are definitely some problems for which Matlab simply won't work. Monte Carlo radiation transport is one that I'm aware of. You have compsci in your panelist tag so I don't doubt that when you say Matlab doesn't work for you, it doesn't. But I will say that a lot of people who say Matlab isn't good enough or fast enough just aren't using it right. As a general rule, if you have nested FOR loops in your matlab (or a single FOR loop that runs more than ~10 times) you are doing it wrong.

[–]rm999Computer Science|Machine Learning|AI 0 points1 point ago

sorry, this has been archived and can no longer be voted on

Yeah, I agree with you that many people use matlab incorrectly.

But the issue is more with RAM. Industry is moving more towards "big data", which involves processing orders of magnitude more data than a typical computer's RAM. Before I do any sort of sampling, the data I work with (uncompressed) can be ~10s of terabytes.

[–]thetrippMedical Physics|Radiation Oncology 0 points1 point ago

sorry, this has been archived and can no longer be voted on

What about Matlab makes this more difficult than other environments? To (naive) me, that sounds like a problem that any language would have a hard time with.

[–]rm999Computer Science|Machine Learning|AI 0 points1 point ago

sorry, this has been archived and can no longer be voted on

In Matlab you generally load up a whole dataset at once and process it however you want.

In many other languages you can process data sequentially, discarding old data but capturing some statistics on the old data in a more manageable amount of space.

[–]biznatch11 2 points3 points ago*

sorry, this has been archived and can no longer be voted on

Another vote for Perl for bioinformatics. If/when I have more time I'd learn Python and R next. I just happened to learn some basic Perl in a bioinformatics class I took so that's what I use now.

[–]thetrippMedical Physics|Radiation Oncology 0 points1 point ago

sorry, this has been archived and can no longer be voted on

Yeah, from what I can tell it's the standard, and there are a ton of tools already built for the field in Perl. No need to reinvent the wheel.

[–]DoubleEntendreCheck 0 points1 point ago

sorry, this has been archived and can no longer be voted on

Yes, it is very efficient to develop code for numerical analysis in matlab. I always start in matlab during the development and testing phase.

[–]nutlingParticle Detection Instrumentation 0 points1 point ago

sorry, this has been archived and can no longer be voted on

+1 for MATLAB. Excellent for research and investigation.

[–]JamesHaysComputer Science|Graphics|Vision 0 points1 point ago

sorry, this has been archived and can no longer be voted on

Matlab here, as well. Everything starts in Matlab. If speed is an issue, functions will call OpenCV or C++. I use a little Python, as well.

I like Matlab, but it does have some issues -- speed, memory management, and licensing requirements.

[–]BurnageCognitive Science|Judgement/Decision Making 0 points1 point ago

sorry, this has been archived and can no longer be voted on

Matlab here, too. The Psychophysics Toolbox makes it pretty useful for designing psych experiments. I sometimes play around with Common Lisp and Python as well.

[–]iorgfeflkdCondensed matter|Biophysics|Relativity 0 points1 point ago

sorry, this has been archived and can no longer be voted on

Me too.

[–]sitbon 6 points7 points ago*

sorry, this has been archived and can no longer be voted on

As a CS PhD student, and previous environmental science worker, I've gone through many research topics and programming languages.

I have a friend who works in the software industry and convinced me to give .NET a try, because he works with gigantic codebases that need to remain maintainable for a looong time. I gave it a go because the Mono project is so kick-ass on Linux now. I now fancy C# as the language that makes it easy to get shit done in a simple unified way. For the typical CS-working-alone research scenario, it has made my code a lot more maintainable in the long-term. For the record, I still love my smattering of Python toolkits and modules (TCP pickle protocol, anyone?).

There's this nasty habit1 in this field where people write code, use toolkits, do all sorts of things, and then produce their pretty graphs... but nothing comes of it. Even when they share code, it becomes out of date or unmaintainable pretty quickly. There are some very notable exceptions, where the software is the center of the research- my favorite example is the ns-3 network simulator (and I'm a contributor :). A good example of something that has evolved a lot but is still not very fun to use for maintainability/Java reasons is TinyOS.

These days, I do a lot of theory and data manipulation, and still love to work with C/C++, Python, and perl, but good programming practices, along with C#, have accelerated my coding to the point where I can get shit done and move on to the real science at hand. It's good I'm finally at that point considering I've been writing code for over 15 years :)

Speaking of theory, Matlab and Mathematica are very useful tools. For those that think Matlab is good for big datasets... when you get to managing the truly big ones, PostgreSQL is the way to go. Takes a bit of effort to design the database but you will be rewarded for it. I'm actually doing that as a side business for extra cash now, and it's very profitable (and is much more impressive than the CSV files most scientists end up with).

-1: The other nasty habit I'm dealing with now is arbitrary pseudocode used to describe algorithms. I can't contact an author about the paper he wrote 20 years ago and tell him his algorithm is either wrong (despite being the centerpiece of the paper) or that poor notation has made it impossible to implement in whatever way they intended.

So then, out the window goes my ability to compare my algorithm to theirs directly. Sometimes I blame page limits at conferences... it's easy to spot where an author decided not to explain something fully because there was still that one damn reference hanging off of the overlimit page. This practice (altogether) has been going on for 30-40 years easy.

[–][deleted] 2 points3 points ago

sorry, this has been archived and can no longer be voted on

When I first read CS PhD student, I really thought that everything else you wrote was going to about haskell. ;)

[–]dylanevl 0 points1 point ago

sorry, this has been archived and can no longer be voted on

I'd like to introduce you to node.js if you're not already familiar. It's the new hotness.

[–]ValeenTheoretical Particle Physics|Condensed Matter 4 points5 points ago

sorry, this has been archived and can no longer be voted on

I use mathematica, not a real language, but its extremely powerful and speed isn't really an issue for me. Occasionally I need to let something run over night when I am doing numerics, but that is about the extent of it. It also allows me to do all my graphic without having to export the data and mess with it in an external program like gnuplot.

[–]omgdonerkebabTheoretical Particle Physics|Particle Phenomenology 0 points1 point ago

sorry, this has been archived and can no longer be voted on

It's such a memory hog though. I can't even run simple linear operations on a million 11-dimensional vectors. (I just wanted to find the mean and standard deviation of each of the 11 elements.)

[–]ValeenTheoretical Particle Physics|Condensed Matter 1 point2 points ago

sorry, this has been archived and can no longer be voted on

There is a command that limits the amount of memory it uses. However in my case I want it to use all of that memory cause it keeps a running record of, for example, manipulations it has tried when trying to simplify a function. So I just got more ram.../shrug

[–]oedipamatzahEvolutionary Genetics|Genomics 3 points4 points ago

sorry, this has been archived and can no longer be voted on

I use mostly Perl with some R thrown in for stats and graphs. The rest of my lab does most of their stuff in Python and keep trying to get me to switch to it, but I haven't gotten around to it yet.

[–]computers_in_spaceComputational Cosmology 4 points5 points ago

sorry, this has been archived and can no longer be voted on

Computational astrophysics here. Had to answer this one.

Python/Cython for manipulating and visualizing anything up to TB data.

C or Fortran for anything that needs to be fast. Maybe C++. Please note that I said Fortran (>=90) and not FORTRAN (<=77). I saw some codes still in FORTRAN66 at Princeton. Ouch.

I use a fair amount of bash, but none of it is for science. More "using a computer" type tasks. Setting up virtual environments, automating permissions, etc.

I love playing with other languages as I'm still a computer nerd at heart, but I haven't found anything else useful for getting science done.

Now for my rant:

I look down on scientists that use closed (for profit) languages. This includes commercial compilers (PGI, NAG, ifort), MATLAB (please just use Octave forchrissake), IDL, etc. You are basically making it difficult if not impossible and expensive for me to reuse your work for no good reason. The free, open source alternatives of these things are almost always faster and always more portable.

I do not understand using Perl. Anything you want to do in Perl, you can either do with a simple bash script or in a language that does not blow. Old, slow, and just plain ugly.

The one exception I make is Mathematica because nothing is as good at symbolic manipulation and sometimes you need that. It's a shame, but maybe sage/sympy will get there one day.

Oh almost forgot, using Windows for science is a joke. You can't run anything serious. Mac or linux only, no exceptions.

tl;dr: Python, C, and Fortran on Mac or linux only. Refuse to work with commercial libs like MATLAB, IDL. Laugh at Perl and Windows.

[–]GentleStoicPhysical Organic Chemistry 0 points1 point ago

sorry, this has been archived and can no longer be voted on

Indeed - the large open community is one of the draws for me towards writing in python. I'm surprised that you could manipulate/visualize TB datasets - are there tricks to going about it? I'm choking with stuff 1000-fold smaller than yours.

[–]computers_in_spaceComputational Cosmology 1 point2 points ago

sorry, this has been archived and can no longer be voted on

Lazy loading. Cython where you can. HDF5 is a big help too. Visualizing that much data takes a while, but it's possible with a big computer and some MPI trickery.

[–]chrisamillerCancer Genomics|Bioinformatics 2 points3 points ago

sorry, this has been archived and can no longer be voted on

You'll likely be interested in this thread over at BioStar:

Which are the best programming languages to study for a bioinformatician?

For most of us bioinformaticians, this includes Perl, Python, R, and bash command line utilities (like sed, awk, cut, sort, etc). There are also people who code in Java, Ruby, C++, and Matlab.

So the bottom line? Whichever language lets you get the work done most easily is the right one for you. Answering this question should include a careful survey of the libraries and other code that you can pull from, as well as information on the preferences and experience of both you and your collaborators. If you're doing microarray analysis, it's hard to beat the R/bioconductor libraries, but that's absolutely the wrong language for someone wrangling most types of large sequencing data sets.

[–]shaveraStrong Force|Quark-Gluon Plasma|Particle Jets 2 points3 points ago

sorry, this has been archived and can no longer be voted on

ROOT. Almost all particle physics is done in this C++ bastardization.

[–]hadhubhi 1 point2 points ago

sorry, this has been archived and can no longer be voted on

When I did some neutrino research, our lab was almost entirely FORTRAN'77 (this was within the last decade). So thank your lucky stars for small favors. I still sometimes have night-terrors.

They were slowly migrating to C++ for some of the work on newer experiments (ie MINOS), though.

[–]omgdonerkebabTheoretical Particle Physics|Particle Phenomenology 0 points1 point ago

sorry, this has been archived and can no longer be voted on

Almost all experimental particle physics is done in this C++ bastardization.

Hooray theory!

[–]asdfman123 0 points1 point ago

sorry, this has been archived and can no longer be voted on

You guys invented the internet or something, right? Can't you come up with something better? :P

[–]electricsandstorm 2 points3 points ago

sorry, this has been archived and can no longer be voted on

Python!

[–]LegoForte 2 points3 points ago

sorry, this has been archived and can no longer be voted on

I try to use Python as often as possible, but I do a lot of work in Matlab. Generally, I use Python because it's clean and consistent and beautiful, and NumPy and Matplotlib do almost everything I want. I use Matlab because it's the standard for engineering, but I always find it clunky and painful to actually program in.

A while back, I was using LabView for data acquisition and control, and then compiling that to Matlab code to hook up to an optimizer. It was a nightmare, and I ended up rewriting the entire system in Python, which made my life so much better.

[–]blueboybobAstrobiology|Interstellar Medium|Origins of Life 1 point2 points ago

sorry, this has been archived and can no longer be voted on

Used TCL as an undergrad. Now I use IDL and AWK.

[–]johnh2o2 0 points1 point ago

sorry, this has been archived and can no longer be voted on

boooooooo IDL no thank you site licenses!

but yaaaaaay awk

[–]dmahr 0 points1 point ago

sorry, this has been archived and can no longer be voted on

Fellow IDL programmer here, though I use it for analysis of data from earth-observing satellites. There are definitely times it seems inefficient, but some functions, like where(), are so nice. The runtime is also multi-threaded, which cuts down on processing time.

[–]Samarang[S] 1 point2 points ago

sorry, this has been archived and can no longer be voted on

Thanks for all the comments everyone. I knew programming languages are varied but seeing everyone putting out their preferred language is quite eye opening.

[–]goaliecaMachine vision|Media Encoding/Compression|Signal Processing 1 point2 points ago

sorry, this has been archived and can no longer be voted on

R and C++. I absolutely hate matlab and have started doing more and more stuff in python.

[–][deleted] 1 point2 points ago*

sorry, this has been archived and can no longer be voted on

C++ is wonderful, although I would really like it if it would let me overload anything as an operator, overload operator precedence, treat functions like they're variables, type classes and type variables! Templates can be a pita too!

[–]s_quark 4 points5 points ago

sorry, this has been archived and can no longer be voted on

So... you want to merge C++ and Haskell?

[–][deleted] 1 point2 points ago

sorry, this has been archived and can no longer be voted on

Yes. I am slowly trying to learn haskell, and I think I might try and learn common lisp too, but I really love c++ syntax.

[–]Phantom_Hoover 1 point2 points ago

sorry, this has been archived and can no longer be voted on

Really? I always liked Haskell's syntax far more than the C-style ones.

[–][deleted] 1 point2 points ago

sorry, this has been archived and can no longer be voted on

It's probably just because it's what I am used to. But compared to even the other languages with syntax like c++, I love being able to overload operators, I love having standard stuff in stl like vector/set/stack/queue/priority_queue/etc. and you can do them for your own classes/structs if you provide the necessary functions etc.

[–]yuno10 1 point2 points ago

sorry, this has been archived and can no longer be voted on

Pardon my ignorance, what do you mean by:

treat functions like they're variables

Is there any language that does such a thing?

[–]kurokikaze 1 point2 points ago

sorry, this has been archived and can no longer be voted on

All functional languages do this. Also, some scripting languages (Python, JS)

[–]element8 1 point2 points ago

sorry, this has been archived and can no longer be voted on

usually they're called first-class functions. Like kurokikaze said functional languages do this well and object-oriented languages do this where functions are treated as objects. C++ can do this with function pointers according to the wikipedia article but is "not considered to support first-class functions, since anonymous functions are not generally available, and functions defined by function pointers cannot dynamically encapsulate state by closing over their free variables."

http://en.wikipedia.org/wiki/First-class_function

anonymous functions, i believe also referred to as lambda functions from the lisp books i've read, are functions that are defined and used without an identifier.

[–]thomasballinger 1 point2 points ago

sorry, this has been archived and can no longer be voted on

Python, then probably Matlab, c, Tcl, bash, R, perl in that order. I'm an RA at a neuroimaging lab. Learning to use basic command line tools is also not to be underestimated. If you're part of a large organization or have close colleagues, bend to convention unless you have a good reason not to. Learn competence with the language that has the library you need to start out with - we're doing Science here, not software design (unless you are).

[–]defrost 1 point2 points ago

sorry, this has been archived and can no longer be voted on

I play around with data in Python, Matlab, and Excel Spreadsheets (yes, seriously). I play around with concepts in Haskell and lisp.

I implement in C and often interface with Fortran, the major part of my career has been orientated towards the production of real time data acquisition / processing / interpretation instruments ( marine seismic, airborne geophysics, geomosaicing raw satellite feed, precision mapping underground chambers to monitor for wall creep, etc).

I don't so much "do science" as industrialise it.

[–]avfc41Political Science|Voting Behavior|Redistricting 1 point2 points ago

sorry, this has been archived and can no longer be voted on

Python, mostly because ArcGIS uses it as their built-in scripting language, and they have the arcpy module. Also, everyone in my program had to learn Stata, which is what I use for statistical stuff.

[–]a_dog_named_bobQuantum Optics 1 point2 points ago

sorry, this has been archived and can no longer be voted on

LabView 4 life.

[–]cognitio 0 points1 point ago

sorry, this has been archived and can no longer be voted on

oh my goodness, how could I forget LabView? I use it fairly often it's just that i still don't think of it as a programming language, haha.

LabView can do amazing things but for some tasks symbolic programming languages are just incredibly awkward to use. Plus I usually spend twice as much time looking for what damn little square will do the right thing than i do actually "programming".

[–]2x4bQuantum Field Theory 1 point2 points ago

sorry, this has been archived and can no longer be voted on

I used C++ and Matlab for a thing a couple of years ago, now I don't do any programming (my only computer use is Mathematica/Maple for algebra checks/really hard integrals).

I know a few people who use FORTRAN, and lots of astronomy type people use IDL.

[–]johnh2o2 0 points1 point ago

sorry, this has been archived and can no longer be voted on

I'm in high energy astrophysics and, in order of frequency, I use: bash scripts+awk, python, C, perl

I don't count latex but if you do, latex would be in between bash and python.

[–]rupert1920Nuclear Magnetic Resonance 0 points1 point ago

sorry, this has been archived and can no longer be voted on

About six years ago I used FORTRAN.

Yup.

[–]hadhubhi 2 points3 points ago

sorry, this has been archived and can no longer be voted on

Yeah, neutrino physics, here. FORTRAN'77. About 4 years ago. Sigh.

[–]dylanevl 2 points3 points ago

sorry, this has been archived and can no longer be voted on

Are you using FORTRAN because it's the right tool for the job or because it's a legacy system that you have to use?

[–]hadhubhi 2 points3 points ago

sorry, this has been archived and can no longer be voted on

Legacy. The actual experiment I worked with (NOMAD) was done in the late 90s, though. I'm guessing FORTRAN was just a decision made by the collaboration to use for everything just because it's what they were comfortable with. Because they were a bunch of old coots. As I said somewhere else in this thread, my lab was also doing some work on MINOS, which was C++. But I stopped working with all this about 4 years ago.

[–]looselyspeaking 0 points1 point ago

sorry, this has been archived and can no longer be voted on

Another one here - fluid mechanics.

[–]GentleStoicPhysical Organic Chemistry 0 points1 point ago

sorry, this has been archived and can no longer be voted on

I looked into, and learnt, various options when I (re-)learn programming 2-3 years go. Now I write python code most of the time. I picked this language partly because of it has libraries that does numerical/scientific analysis (NumPy/SciPy), MVC-driven interfaces for interactive data-exploration (Enthought Traits/Chaco/Mayavi), and simple and gorgeous plotting (matplotlib). On a day-to-day basis I find that the clear syntax (e.g., compared to Java with tons of boilerplates) and relatively "un-openendedness" (unlike perl) sources of productivity. The only drawback in the years I've used it is that python can be sluggish with very large and unoptimized datasets.

I also code for fun, and python has either libraries or binding for accessing natural language analysis (NLTK), wikipedia, R, and... reddit. Some graphics program I use are also scriptable in python (e.g., nodebox), which is a bonus. For fun I'm learning Coffeescript (a dialect of Javascript), since I want to make tools that people can just run in their browsers; and coffeescript is very "python" (or ruby) like.

Technically (La)TeX is also Turing-complete, but I just use it to write manuscripts.

[–]dylanevl 0 points1 point ago

sorry, this has been archived and can no longer be voted on

I think you'd also enjoy working with node.js.

[–]GentleStoicPhysical Organic Chemistry 0 points1 point ago

sorry, this has been archived and can no longer be voted on

I use node.js for local Coffeescript/JS stuff, but only in a very basic manner (the whole call-back thing is lost on me so far). I just don't see what I'd be using it for, since there seems to be far more extensive group of API for doing "real work" in python than JS.

[–]Sode79 0 points1 point ago

sorry, this has been archived and can no longer be voted on

I do almost everything in SAS

[–]bulbousaur 0 points1 point ago

sorry, this has been archived and can no longer be voted on

PL/I.

[–]psygnisfiveTheoretical Linguistics|Syntax 0 points1 point ago

sorry, this has been archived and can no longer be voted on

Haskell, Agda, Scheme for more theoretically oriented stuff (especially Agda these days). Ruby for simple scripting stuff.

[–]cognitio 0 points1 point ago

sorry, this has been archived and can no longer be voted on

you actually use scheme for scientific work? I have to admit im jealous. I took a CS class based in scheme (it was beautiful), but i assumed that i would never actually get a chance to use it anywhere else (and i probably wont). Like most of us i'm stuck working mostly with matlab with a bit of fun python here and there.

[–]psygnisfiveTheoretical Linguistics|Syntax 0 points1 point ago

sorry, this has been archived and can no longer be voted on

Well, for teaching purposes but teaching science is still science! Sort of. Not really.

[–]cognitio 0 points1 point ago

sorry, this has been archived and can no longer be voted on

It's a wonderful teaching language, and I guess that's probably the best place to use it. I found it great to learn with because it would illustrate programming concepts beautifully and elegantly, but also forced you to abstract those concepts away from the language, because you knew you would never be writing in scheme again, haha.

[–]Phantom_Hoover 0 points1 point ago

sorry, this has been archived and can no longer be voted on

I was far more surprised at Agda being on the list, TbH.

[–]cognitio 0 points1 point ago

sorry, this has been archived and can no longer be voted on

As a physics undergrad working in a cosmology lab, I pretty much just use matlab and python. Matlab is...unfortunate, but it gets the job done when i need to whip up something quick and visual. Most of the programming in our lab is python. Most of our experiment is run by a bunch of python scripts that i really wish i understood :p

[–]AstrokiwiNumerical Simulations|Galaxies|Molecular Cloud Formation 0 points1 point ago

sorry, this has been archived and can no longer be voted on

I'm do astrophysics simulations. I use Fortran77 when I have to, upgrading it to Fortran95 when I can. I use Python for the less intense stuff, and I've started learning towards C++ because it's probably a good thing to get used to.

[–]lumberjackninja 0 points1 point ago

sorry, this has been archived and can no longer be voted on

Python, via SAGE; it can do pretty much anything Matlab can, but it doesn't suck. It'll also do symbolic stuff, which is pretty neat; basically, it's Matlab+Maple all rolled up into one nice package.

I also use Python for doing pre-processing of files before running them through tools I've written in other languages, by which I usually mean C. At my new job, C++ is fairly popular (it's a Microsoft shop, unfortunately), so I'm having to force myself to get over my (mostly unfounded) dislike of the language.

At the end of the day though, you use the right tool for the right job. That doesn't automatically justify the niche languages that are only used in specific scientific subfields, but at the end of the day it makes everybody's life easier if you just use C, say, for writing an operating system instead of trying to do it in FORTRAN.

[–]devicerandomMolecular Biophysics|Molecular Biology 0 points1 point ago

sorry, this has been archived and can no longer be voted on

Python + Scipy/Numpy/Matplotlib.

At my new job, I have to use Perl, with which I have a love/hate relationship now (but I'm still learning).

I used Matlab for a while and I absolutely, totally hated it with a passion.

[–]Wonka_VisionChemical Engineering|Polymer Synthesis|Drug Delivery 0 points1 point ago

sorry, this has been archived and can no longer be voted on

I program in MathCAD, which is not nearly as robust as Matlab.

[–]omgdonerkebabTheoretical Particle Physics|Particle Phenomenology 0 points1 point ago

sorry, this has been archived and can no longer be voted on

Many theoretical particle physicists are using Mathematica, except for heavier computation, which requires either FORTRAN or C++. But only a relatively small number of particle theorists know a real programming language (not Mathematica)... those few who do write programs in FORTRAN or C++ that others can use without knowing the languages.

Much of particle experiment work is done in C++ now, with Python frameworks. I speak primarily of the ATLAS and CMS collaborations for the corresponding experiments at CERN, since that's where my short particle experiment experiences came from. Most of the data analysis will be in C++, while there's some overlap with theorist C++ and FORTRAN programs.

I also know some condensed matter theorists who enjoy coding in Python a lot. But the ones I know don't have that many computations to do, so they don't need something faster like FORTRAN or C++.