Note that there are some explanatory texts on larger screens.

plurals
  1. POShould I study Scala?
    text
    copied!<p>I am an experienced C++ programmer with average Python skills. The reasons I studied Python in the first place were:</p> <ul> <li>to get a different perspective on programming (static vs dynamic, interpreted vs compiled, etc.)</li> <li>to increase the breadth of projects that I can work on (Python allows me to do web development, develop for Symbian phones or knock up quick system administration scripts)</li> <li>to complement my C++ skills.</li> </ul> <p>I think that Python is great and I believe that I have achieved the above goals. I will continue to use it for small projects, scripts and web development.</p> <p>I doubt that I can use it for medium to large projects though. While the dynamic typing is convenient, it allows a certain class of bugs that I find disturbing. Unit testing and linting can alleviate this problem, but static typing completely eliminates it.</p> <p>After looking at some programming languages, I think that Scala looks like a good candidate: I like the type inference and it runs on the JVM so it should be available wherever the JVM is available. I can also learn more about functional programming when using it.</p> <p>But... I also have some doubts, and this is where I hope that the Stack Overflow community can help:</p> <ul> <li>Portability: Linux and Windows at least I hope. What about mobile phones, is it possible to get it to run there?</li> <li>C++ compatibility: can I mix C++ code with Scala? (JNI?)</li> <li>Programming paradigm: I don't feel comfortable with switching to functional programming (FP) at this time. Can I use object oriented and procedural with some FP at first and then change the proportions as I learn?</li> <li>Tool chain maturity: what's your experience with IDEs and debuggers? I'm using Eclipse right now and it seems OK.</li> <li>Learning speed: considering my experience, how fast do you think that I can reach a workable level with Scala?</li> <li>Deployment: how exactly do you deploy a Scala program? Is it a jar, is it an executable?</li> </ul> <p>Finally, what do you think that are some of Scalas disadvantages?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload