Being introduced to the world of Python, I just can't think of any other language which would pack so many features in so few lines. It is like punching every algorithm implementation in their face in slow motion as you would see in any modern action movie. I have been told to try Go which might be the next promising language which promises a lot of the same features but has been written with multicore concurrent architectures in mind.
While I don't want to get into a programming language comparison here - I am too old to fall for that. However, I must admit that I have tried learning python so many times but could never appreciate it as I could do virtually everything in C++ and I took pride in its speed and nativeness to the architecture. Well then, I never had to care about cross platform code compilation. I did not code in Java for a long time. It was a desperate measure to pick up Python - it's your friend when you have to quickly write up working code which does something and you don't have to spend hours debugging and making sure you took care of those edge cases. Think of these dynamically typed languages as shell scripts on top of C++. With JIT implementations available for many of these, programming has become a pleasure you get while driving a luxury car (think corvette) on 101.
I was going to write the content of this blog about sharing some of the punches python delivers. However I saw this posted on yc today which puts the words I wished to write into a beautiful post - http://sahandsaba.com/thirty-python-language-features-and-tricks-you-may-not-know.html
Somehow - there is a lot of power in desperate measures. You adapt. If your fundamentals are right, it is just a matter of time and you learn the new tricks. The beauty is when you learn to know when to use what - that takes lots of time and mistakes.
Wise people have said, it takes 20 days to learn how to write C++ and 20 years to unlearn how not to write C++. With this fast evolution of toolkits, I don't think we have 20 years. So build on fast on others' mistakes and learning - that's the only way to accelerate.
While I don't want to get into a programming language comparison here - I am too old to fall for that. However, I must admit that I have tried learning python so many times but could never appreciate it as I could do virtually everything in C++ and I took pride in its speed and nativeness to the architecture. Well then, I never had to care about cross platform code compilation. I did not code in Java for a long time. It was a desperate measure to pick up Python - it's your friend when you have to quickly write up working code which does something and you don't have to spend hours debugging and making sure you took care of those edge cases. Think of these dynamically typed languages as shell scripts on top of C++. With JIT implementations available for many of these, programming has become a pleasure you get while driving a luxury car (think corvette) on 101.
I was going to write the content of this blog about sharing some of the punches python delivers. However I saw this posted on yc today which puts the words I wished to write into a beautiful post - http://sahandsaba.com/thirty-python-language-features-and-tricks-you-may-not-know.html
Somehow - there is a lot of power in desperate measures. You adapt. If your fundamentals are right, it is just a matter of time and you learn the new tricks. The beauty is when you learn to know when to use what - that takes lots of time and mistakes.
Wise people have said, it takes 20 days to learn how to write C++ and 20 years to unlearn how not to write C++. With this fast evolution of toolkits, I don't think we have 20 years. So build on fast on others' mistakes and learning - that's the only way to accelerate.