Once Flatiron is completed, we can now choose new technology options. I am not the biggest fan of ruby, and I will be looking into other language options and technologies. To make our choice more manageable, we can look at several factors to narrow down your selection.
The pros and Cons of language you already know.
These languages’ constructions allow for significant flexibility and speed, but care is needed to prevent runtime errors. Many programmers are comfortable with these conditions and will use strategies to manage their risks, such as linters and proper testing. However, others, such as myself, would prefer something more deterministic that will catch more error before runtime and give up some flexibility. Different languages will offer different levels of strictness. Python with type hints adds optional type checking without changing the dynamic run time. On the more extreme side, Rust has safety and correctness built into its very core.
Languages that specialize in the fields you are looking it enter.
Popularity and support
Ultimately, we are programming to get employment, so the language we choose will need to be one with some popularity and recognition. If you have a background in Shakespearean, it will be much less valuable the Go. However, most companies recognize that programming skills are transferable between languages. It is much more essential to have example projects in your chosen language than pure knowledge.
More popular languages will have more support and options available than niche ones. As newer programmers, larger communities are more likely to answer our questions and have examples/ training materials. To get a good idea of what’s popular, try taking a look at what people are using on Github.
Languages that may be interesting for Flatiron students
- Crystal - general-purpose compile language with Ruby-like syntax, still in development (niche).
- Elixir and Phoenix - Functional programming language that’s marketed as friendly to ruby users.