What is the best programming languaging for EEs and BMEs

<p>“Python is probably one of the best languages ever created.”

  • Perhaps, but that’s debatable, and you know it.</p>

<p>“It offers the power, speed and reliability of C, with the ease of use, unicode support, auto-memory management, large system library, and dynamic typing that plague C.”

  • Well, there are pros and cons to several of those features (auto memory management? dynamic typing?), and some of them are sort of questionable (Python offers the speed of C?). I agree it is in the same ballpark as C - it is a fully-featured programming language and interfaces well with C. Still, I think it’s a stretch to say that it’s better than C (let alone C++) in every respect.</p>

<p>“Python is a very serious contender not only in applications but in OS’es, as well as the day to day tasks of sys admins and web server admins.”

  • I agree that Python is good for the day-to-day tasks of sys admins and web server admins, and also (though to a lesser extent) for writing general applications, but I am skeptical that it would be well-suited to writing a full-featured OS. I’m not saying it can’t be done, but I don’t like the sound of it.</p>

<p>“Auburn I really don’t know why you consider it bad,”

  • I’m not a fan of the loose syntax. I prefer tighter syntax. I feel that there’s a balance between flexibility and structure that Python is missing. For instance, semantic whitespace leaves a bad taste in my mouth.</p>

<p>“but to say it is, simply shows your stubbornness to the disciple.”

  • I assume you mean “discipline”. I don’t think that’s a fair assessment of what my opinion shows. It just means I prefer other languages to Python… not so unreasonable. You choose the right tool for the job, but if the tool is a matter of taste, then it’s not “wrong” to choose one which you like more.</p>

<p>“If you ever want to survive being a programmer, I highly suggest you learn how to be eclectic. Its a must.”

  • Thanks for the advice, but I already “know how to be eclectic” (you have a very strange way of saying things) and I don’t think that liking Python is a prerequisite. I can write Python scripts, if I need to, and that’s good enough for me. There are legitimate reasons why I don’t think it’s a suitable language for learning and why I am hesitant to use it for general-purpose programming.</p>

<p>I’m curious… what do you think of my other point, that the first programming language one should learn is… well… the language of algorithmic thought, or pseudocode. Advantages?

  • It has no syntax issues associated with it. Pure semantics.
  • It embraces every existing programming paradigm (and even those that don’t exist… yet)
  • It has the potential to be applicable to the study of any other programming language.</p>

<p>Drawbacks would include…

  • You can’t let the Turbonic plague run through your body like an electric shock.
  • You won’t accidentally get anything right.
  • You can’t test it on an actual computer, per se…
  • It’s fairly high-level, I suppose…</p>

<p>I think the world would be a noticeably better place if programmers knew how to program before they learned a programming language. Doing it the other way around is just catering to the people who never want to learn that “theoretical” stuff.</p>