C ++ or Python for C # programmers?

I am a corporate programmer in C #. I took some time to invest in myself and ran into a dilemma. Where to go next? C # /. NET is easy to learn, develop, etc. In the future, I would like to contact Microsoft or Google and want to spend my free time wisely, so what I learn will flourish in the future.

So: Python or C ++ for the C # programmer? I'm a little scared of C ++ because it takes age to develop anything in it. Python is simple, but I think of it as a child's play language that still needs a lot of fixes to be a mature development tool / development language.

Are all C # developers having the same dilemma?

+2


source to share


10 replies


C # is a little closer to Java and C ++ than Python, so learn Python of the two first.

However, my advice is:



  • Stick in your current language and learn more techniques such as a wider range of algorithms, functional programming, design by contract, unit testing, OOAD, etc.

  • learn C (focus on defining pointers, multidimensional arrays, data structures like linked lists, and resource management like allocating / freeing memory, files, etc.)

  • get to know Assembly (on a modern platform with flat memory architecture, but do low-level stuff like talking to hardware or painting on canvas)

  • learn Python or Ruby. Chances are you'll stick with one of them for a while, knowing all of the above, unless some hot new language comes along by that time.

+1


source


I am a little scared of C ++ because it takes a long time to develop something in it.

I'm not sure how you can tell that when you tell yourself that you have no experience in this language. C ++ is a good tool for some things, Python is good for other things. What you want to do is to drive this decision, not the technology itself.



C # programmer or not, I would suggest that you can choose any language, but a language is just a tool, so your question is difficult to answer.

+7


source


It's easier to get started with Python, but a dynamically typed scripting language is a very powerful language from C # or C ++. You will learn more about programming learning this than you do by jumping to a close relative of a language you already know. In fact, all programmers should be familiar with at least one scripting language (Python, Perl, and Ruby).

+5


source


If you want to apply to Google then Python might be the one to go for, of course MS would want C # already. If nothing else, the competition won't be that fierce as there are many people there, many years of C ++ experience. Plus, Python gives you broader language skills and will be a good path for more languages โ€‹โ€‹and scripts.

But as said and will be said again, choose your tool wisely and see if there is a nail or screw you are trying to protect.

+3


source


Why not find out some of them. Learning a language for a week or so won't make you an expert, but it will answer a lot of questions in your head and plant the seeds for the future.

It's important not to just read the exercises. Find a few simple problems that can be programmed in a page or two at most and solve them in each language. This will help you examine strengths and weaknesses in the context of how you think and how you solve problems.

+1


source


C ++ is usually used when speed and OS access are low level. This is a good skill if you want to expand.

Python allows you to do things quickly, and it's pretty easy to learn, and provides more power than you'd expect from a scripting language, and arguably one of the fastest.

C ++ isn't that slow to evolve, if you have an IDE it's not hard to write per se, but the syntax will be for you.

+1


source


If you want to google and / or Microsoft, I would say that of the two, you need both!

Given the greater choice, perhaps C ++ and another language - either dynamic, functional, or both (Scala might be a good choice too).

It's not necessarily about whether you will be using the languages โ€‹โ€‹themselves, but more about the different approaches that they demand and encourage.

If you continue to "scare" C ++, you are likely to struggle with application as a developer in any of these organizations โ€” unless you specialize elsewhere.

+1


source


I think you just asked the wrong question. It's not about the tool itself. It should be about what kind of software you really find while enjoying the creation. C ++ is used when building various types of applications written in C # or Python. Keep in mind that C # or .NET itself is not easy to learn. It can be pretty easy to design something that works somehow, but if you just go into details ...

Anyway, my point is: if you are interested in developing web solutions: switch to Python. There is a lot of hype about Python at this point, and even Microsoft has realized the power of this language (you can leverage your knowledge of .NET and Python programming with IronPython). C ++ is currently used in some specific areas. Business applications are written mostly in Java or .NET, and C ++ is still great for lower-level programming, in areas where performance is critical (and I mean "performance" as the performance of the language / platform itself ). The gaming industry is a good example: Java and C # are definitely easier to learn than C ++, but ... how many "big games" were created entirely in C # / Java?

I have one more tip for you: if you want to work at Microsoft or Google, don't focus on the itelft language. This is NOT the most important thing. Focus on problem solving, algorithms, and other materials ( Stevie Yegge's post on how to prepare for a Google interview ). Oh, and of course, as a fan of C ++ (and C # too), I have to admit that it is not, that developing anything in C ++ takes time. You probably think of C ++ as "C with clasees" - check out STLs, templates, extended templates, Boost ... Somehow everyone in the gaming industry manages to create better and better games in a short time time, others to create "boring and light" business application in Java / C #.

+1


source


As someone familiar with C # and .NET, you should consider IronPython. Python for .NET. This will be a good way to use what you know and learn a new dynamic language at the same time.

0


source


You might be interested to look at Windows Powershell. It is the latest scripting technology from Microsoft built in .NET and can be extended with C #.

Granted, it's not as portable as C ++ or Python, but it will make your C # / easier to use. NET. Otherwise, I would suggest C ++ (and possibly C). Microsoft builds a lot more of its products with C / C ++ than with Python.

0


source







All Articles