re: To func, or not to func: that is the question. VIEW POST

re: This really struck a chord with me. Especially as a data scientist, I would've figured you'd be functional all the way. Or at least heavily vested ...

So (for context), I work professionally as a data scientist/software engineer and my team (a small startup) primarily utilizes Java and Python for the broad majority of our codebase; the current team prefers Python and we're gradually writing more of our code in that vein as a machine learning shop. I've only poked at OCaml once as far as functional programming goes, but I'm interested in learning more about that paradigm. In my personal side projects, I pretty much exclusively use Go, even for machine learning stuff. Given the size of my team at work, I might start sneaking in some Go into my work assignments too. ; )

As for the type system question: absolutely. It sticks to the mantra of less is more which for me encourages me to spend a lot of time thinking about what data I need and what it will look like. The struct object in particular coupled with interface really "visualizes" the data structures within the program for me.

Right now, I still feel like Python is the top language for machine learning/data science given the library support and community, but I'm personally expecting Go to begin factoring in more heavily with the support from Google in projects like TensorFlow.

Interesting! I work as a data engineer, with strong emphasis on ETL and API implementations using primarily SQL Server and C#. Those two tools have been invaluable in making my job easier, and I enjoy using them for the most part. From a side project perspective though, they pose some limitations, SQL Server especially.

In what way do they limit side projects? Out of curiosity/my own edification.

P.S. I have a buddy that comes from a C# background and I'll see if I can get him to add his two cents to this discussion.

My apologies, I had intended on being more specific to SQL Server in my final comment. It's limitation being the cost of a license for a production level system. Don't get me wrong SQL Express is a fine platform, but isn't really suitable for a production workload due to it's memory and cpu restrictions.

code of conduct - report abuse