3 ms·
This is always one of my motivations for learning a new language. In my field of business (development / .NET), there is no way C# is going away as the languag
by trezor 16y ago
This is always one of my motivations for learning a new language.
In my field of business (development / .NET), there is no way C# is going away as the language of choice, so learning new languages will very rarely allow me to use those fully in the line of duty.
However, learning different languages, addressing problems differently, allowing different kind of constructs with different levels of flexibility often reveals other solutions to problems and allows you think about things outside your normal day-to-day language's constraints.
Often the result of learning new languages is that I see concepts and constructs which are neat and useful and which I like to the point that I will backport it to C# if it can be done in a non-intrusive and not too cludgy way.
I expect this to yield true for many other programmers as well.
- helium 16y agoI expect this to yield true for many other programmers as well. Pun intended?
- tl 16y agoYou might be able to use F#. There is no technical reason you can't use F# with C#, but I've seen political barriers to even using C# with VB.Net.
- mapleoin 16y agoThere's always the issue of who will maintain the code once you're gone?.
- tl 16y agoThat gets trotted out as the counter argument (even with vb .net vs c# where the 2 languages are very similar), but it's moot. Code reuse doesn't happen without clean interfaces (which reduces the problem of different languages) because few programmers will read your code even if it's in the language they want.
- trezor 16y agoThat code reuse doesn't happen is really a myth and where I work, things gets reused a lot. That said, what language to use boils down more to code-maintenance than code-reuse since on .NET code reuse can (and will) happen transparently across CLR languages. I work for a software vendor and having high quality, maintainable code which others can work with is a requirement for everything you do. Using some "exotic" language would not be fully compliant with that requirement.
- francoisdevlin 16y agoThis is why hosted languages are awesome. You can sneak in your $AWESOME_LANGUAGE and have it interact with the legacy application. Granted, this won't work in every situation, but a .NET shop should have a lot of IRON options.