Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Why Python?

Why Python?

Scheduled Pinned Locked Moved The Lounge
questionlearningcsharppythonphp
66 Posts 43 Posters 2 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • OriginalGriffO OriginalGriff

    Keith Barrow wrote:

    I often think whether there is space for a programming language specifically for teaching,

    Problem with that is that no-one will want to learn it - as it has no commercial use. And if it gets picked up as a commercial language, everyone will just belittle it in the same way they do VB (and probably for the same reasons)

    Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952) Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)

    J Offline
    J Offline
    Jorgen Andersson
    wrote on last edited by
    #21

    Odd that, at my old school (where I studied EE, not CS) they taught ML, not because it was popular but rather because it wasn't popular, which meant that the teachers could teach programming instead of a language. The students had lots of opinions about that.

    Wrong is evil and must be defeated. - Jeff Ello[^]

    P S 2 Replies Last reply
    0
    • OriginalGriffO OriginalGriff

      Because Monty Rattlesnake sounds silly? It'ssssssss.... b-dum de diddly dum de dum, de dum de dum de dee... Monty Rattlesnake's Flying Circusssses! Nah.

      Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952) Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)

      Richard DeemingR Offline
      Richard DeemingR Offline
      Richard Deeming
      wrote on last edited by
      #22

      Is that any worse than "A Horse, a Spoon and a Bucket", or "Owl Stretching Time"? I'll accept that "Bun, Wackett, Buzzard, Stubble and Boot" would probably have been too long for the TV listings, and "Vaseline Review" would have attracted entirely the wrong sort of viewer. "The Toad Elevating Moment" might have worked though.


      "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

      "These people looked deep within my soul and assigned me a number based on the order in which I joined" - Homer

      OriginalGriffO 1 Reply Last reply
      0
      • P Pualee

        I came from a school that required writing a shell for UNIX in C as a 200 level class :wtf: Our intro was in C++, by the time we graduated, the dept. moved to Java, and never taught it to us. So our high level classes required us to learn a new language at the same time we did the course work :doh: I worked in embedded C, did some C++ with MFC, and then went back to get a M.S. My favorite class in the entire program was one that used Python for the final project and we had to create a game where the models / engine / art were provided for us. I really liked Python, and would not hesitate to take a job with it.

        J Offline
        J Offline
        JimmyRopes
        wrote on last edited by
        #23

        Pualee wrote:

        I really liked Python, and would not hesitate to take a job with it.

        The problem is finding a job coding Python, compared to C variants. The teacher is telling them that Python is what they need be hireable.

        Once you lose your pride the rest is easy.
        The report of my death was an exaggeration - Mark Twain Simply Elegant Designs JimmyRopes Designs
        I'm on-line therefore I am. JimmyRopes

        1 Reply Last reply
        0
        • J JimmyRopes

          Pualee wrote:

          I really liked Python, and would not hesitate to take a job with it.

          The problem is finding a job coding Python, compared to C variants. The teacher is telling them that Python is what they need be hireable.

          Once you lose your pride the rest is easy.
          The report of my death was an exaggeration - Mark Twain Simply Elegant Designs JimmyRopes Designs
          I'm on-line therefore I am. JimmyRopes

          P Offline
          P Offline
          Pualee
          wrote on last edited by
          #24

          Good point, I lost sight of that... It's not just CS teachers that are out of touch with reality though. Most of them seem to have an agenda to push. I think it come with the territory as they are always the 'expert' and the class never/rarely is. So the professors end up in a situation where they are always right and ever challenged. Somehow, businesses keep finding people to hire... although it is quite telling now that the value of a 4 year degree is being questioned ;)

          J 1 Reply Last reply
          0
          • Richard DeemingR Richard Deeming

            Is that any worse than "A Horse, a Spoon and a Bucket", or "Owl Stretching Time"? I'll accept that "Bun, Wackett, Buzzard, Stubble and Boot" would probably have been too long for the TV listings, and "Vaseline Review" would have attracted entirely the wrong sort of viewer. "The Toad Elevating Moment" might have worked though.


            "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

            OriginalGriffO Offline
            OriginalGriffO Offline
            OriginalGriff
            wrote on last edited by
            #25

            Indeed, we have the Radio Times to thank for the "Flying Circus" part!

            Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952) Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)

            "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
            "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

            1 Reply Last reply
            0
            • K Keith Barrow

              Relevant XKCD[^] My guess is either the teacher is using it due to the simplicity and/or readability angle. Either that or the teacher has notes in Python and doesn't want to update (more common than you'd think). I often think whether there is space for a programming language specifically for teaching, where you can start with simple procedural code, and switch flags on/off (like Option Explicit in VB I suppose) to access more advanced syntax. It'd be interesting if this is possible: Duck Typing vs static would be an effort, would (and could) you want to switch between paradigms (FP/OO etc).

              PB 369,783 wrote:

              I just find him very unlikeable, and I think the way he looks like a prettier version of his Mum is very disturbing.[^]

              C Offline
              C Offline
              chriselst
              wrote on last edited by
              #26

              We were taught Modula-2[^] at university in the first year because it was a good language to teach with although we wouldn't ever meet it in the outside world.

              Some men are born mediocre, some men achieve mediocrity, and some men have mediocrity thrust upon them.

              1 Reply Last reply
              0
              • P Pualee

                Good point, I lost sight of that... It's not just CS teachers that are out of touch with reality though. Most of them seem to have an agenda to push. I think it come with the territory as they are always the 'expert' and the class never/rarely is. So the professors end up in a situation where they are always right and ever challenged. Somehow, businesses keep finding people to hire... although it is quite telling now that the value of a 4 year degree is being questioned ;)

                J Offline
                J Offline
                JimmyRopes
                wrote on last edited by
                #27

                Pualee wrote:

                It's not just CS teachers that are out of touch with reality though. Most All of them seem to have an agenda to push.

                FTFY. :-D

                Pualee wrote:

                I think it come with the territory as they are always the 'expert' and the class never/rarely is. So the professors end up in a situation where they are always right and [n]ever challenged.

                People who challenge the professor get a poor grade. It is a matter of survival. :suss:

                Pualee wrote:

                it is quite telling now that the value of a 4 year degree is being questioned

                Especially for software developers. People coming out of university need to be trained as much as people without formal education. Sometimes the people without formal education are the self starters that need less supervision. Tell them what you want done and they do it the way you taught them to do it. Tell a CS university graduate what you want done and prepare to discuss pro and con about various coding paradigms.

                Once you lose your pride the rest is easy.
                The report of my death was an exaggeration - Mark Twain Simply Elegant Designs JimmyRopes Designs
                I'm on-line therefore I am. JimmyRopes

                1 Reply Last reply
                0
                • F Frank R Haugen

                  A friend of mine has started his journey to become a programmer. His class is learning Python, and I mus wonder, Why Python? I want him to have a look at C-like languages in-stead, (for when he's finished with his current course), but he is adamant that his teacher must be correct in saying that Python is what the programmers need today, to be hireable. I am a big fan of C# and PHP, and I see little in Python that makes them comparable, (granted I haven't used much time with Python), But I can't see it even begin to compete with the big ones, (The C-like languages). But am I wrong? The real question is really: are there really any big differences between the top 15 or 20 most popular programming languages? -frank

                  N Offline
                  N Offline
                  Nemanja Trifunovic
                  wrote on last edited by
                  #28

                  I think Python is a good first language - interpreted, simple, readable, "only one way to do it" philosophy, strongly (but dynamically) typed. They use it as a first language at MIT nowadays. As for C-like languages (by that - I assume you mean curly braces and semicolons :) ) I just don't know of a single one that I would recommend as a first language. Some are too low-level (C, C++) some are too noisy and force OOP on a learner (Java, C#), and some are too messy (Javascript, PHP). Maybe Lua would be a good choice, but it is much less popular than Python.

                  utf8-cpp

                  1 Reply Last reply
                  0
                  • F Frank R Haugen

                    A friend of mine has started his journey to become a programmer. His class is learning Python, and I mus wonder, Why Python? I want him to have a look at C-like languages in-stead, (for when he's finished with his current course), but he is adamant that his teacher must be correct in saying that Python is what the programmers need today, to be hireable. I am a big fan of C# and PHP, and I see little in Python that makes them comparable, (granted I haven't used much time with Python), But I can't see it even begin to compete with the big ones, (The C-like languages). But am I wrong? The real question is really: are there really any big differences between the top 15 or 20 most popular programming languages? -frank

                    P Offline
                    P Offline
                    PIEBALDconsult
                    wrote on last edited by
                    #29

                    I have never used Python and I have no interest in doing so, but MIT uses it for their online non-CS classes, so that should be a pretty good recommendation as a teaching language. http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-189-a-gentle-introduction-to-programming-using-python-january-iap-2008/index.htm[^] http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-introduction-to-computer-science-and-programming-spring-2011/index.htm[^]

                    Frank Reidar Haugen wrote:

                    his teacher must be correct in saying that Python is what the programmers need today, to be hireable

                    But did the teacher actually say that? Someone who wants to drive large trucks or fly jumbo-jets for a living would not start out on them, he would start out on smaller/easier vehicles and work up to the larger/more demanding vehicles as they gain skill. There is no requirement that a first language be your only language any more than a first girlfriend should become your life partner. A student should be introduced to many languages, so the student can see the similarities and differences -- it makes picking up new languages easier. I was introduced to COBOL, Fortran, LISP, Assembly, and Pascal yet never had to use them professionally. Most of my career I have used C and C# with minor excursions into VAX BASIC and VB.net and a small amount of Perl as well. A developer who knows only one language (especially if self-taught) is crippled.

                    You'll never get very far if all you do is follow instructions.

                    OriginalGriffO 1 Reply Last reply
                    0
                    • M mikepwilson

                      yeah I'm not sure I'd trust mono in a production environment. "Maybe it's fine"

                      B Offline
                      B Offline
                      BobJanova
                      wrote on last edited by
                      #30

                      Honestly Mono is probably better tested and more reliable than Microsoft's implementation.

                      1 Reply Last reply
                      0
                      • F Frank R Haugen

                        A friend of mine has started his journey to become a programmer. His class is learning Python, and I mus wonder, Why Python? I want him to have a look at C-like languages in-stead, (for when he's finished with his current course), but he is adamant that his teacher must be correct in saying that Python is what the programmers need today, to be hireable. I am a big fan of C# and PHP, and I see little in Python that makes them comparable, (granted I haven't used much time with Python), But I can't see it even begin to compete with the big ones, (The C-like languages). But am I wrong? The real question is really: are there really any big differences between the top 15 or 20 most popular programming languages? -frank

                        C Offline
                        C Offline
                        Cristian Amarie
                        wrote on last edited by
                        #31

                        1. Why Python? Because he wants a nice job. That is, until boss will ask him to implement IRibbonCallback and IDispatchEx in Python. 2. The real question: the single big difference is this: there are languages with pointers and languages without. That's it.

                        1 Reply Last reply
                        0
                        • F Frank R Haugen

                          A friend of mine has started his journey to become a programmer. His class is learning Python, and I mus wonder, Why Python? I want him to have a look at C-like languages in-stead, (for when he's finished with his current course), but he is adamant that his teacher must be correct in saying that Python is what the programmers need today, to be hireable. I am a big fan of C# and PHP, and I see little in Python that makes them comparable, (granted I haven't used much time with Python), But I can't see it even begin to compete with the big ones, (The C-like languages). But am I wrong? The real question is really: are there really any big differences between the top 15 or 20 most popular programming languages? -frank

                          C Offline
                          C Offline
                          Chris Losinger
                          wrote on last edited by
                          #32

                          meh. when i was in school, the primary programming language was Modula2 (basically Pascal). C was only used in some higher-level electives. but it doesn't really matter. once you learn what programming is all about, switching from one procedural language to another is trivial.

                          image processing toolkits | batch image processing

                          1 Reply Last reply
                          0
                          • F Frank R Haugen

                            A friend of mine has started his journey to become a programmer. His class is learning Python, and I mus wonder, Why Python? I want him to have a look at C-like languages in-stead, (for when he's finished with his current course), but he is adamant that his teacher must be correct in saying that Python is what the programmers need today, to be hireable. I am a big fan of C# and PHP, and I see little in Python that makes them comparable, (granted I haven't used much time with Python), But I can't see it even begin to compete with the big ones, (The C-like languages). But am I wrong? The real question is really: are there really any big differences between the top 15 or 20 most popular programming languages? -frank

                            B Offline
                            B Offline
                            BobJanova
                            wrote on last edited by
                            #33

                            C family languages are in general a really poor place to start. You need to know a lot before you can get a basic program off the ground in C and not shoot yourself in the foot with an unsafe pointer, or C# and know what the framework calls are doing. Starting with a dynamic language which allows you to pick up the basic skills in writing code, designing modules and functional separation, data structures and data flow analysis without dealing with the rigours of statically typed C languages and syntax is a good idea. Yes, C#, Java and C++ (depending on the field) are where most of the jobs are. But your first lessons should no more concern themselves with that than first year maths should be teaching techniques from accountancy jobs. C family languages have 30 years of history behind them which means that they are not necessarily the most clear for teaching concepts, the easiest to set up and run or the easiest to understand.

                            1 Reply Last reply
                            0
                            • J Jorgen Andersson

                              Odd that, at my old school (where I studied EE, not CS) they taught ML, not because it was popular but rather because it wasn't popular, which meant that the teachers could teach programming instead of a language. The students had lots of opinions about that.

                              Wrong is evil and must be defeated. - Jeff Ello[^]

                              P Offline
                              P Offline
                              PIEBALDconsult
                              wrote on last edited by
                              #34

                              Jörgen Andersson wrote:

                              could teach programming instead of a language

                              Hear! Hear! :thumbsup:

                              You'll never get very far if all you do is follow instructions.

                              1 Reply Last reply
                              0
                              • P PIEBALDconsult

                                I have never used Python and I have no interest in doing so, but MIT uses it for their online non-CS classes, so that should be a pretty good recommendation as a teaching language. http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-189-a-gentle-introduction-to-programming-using-python-january-iap-2008/index.htm[^] http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-introduction-to-computer-science-and-programming-spring-2011/index.htm[^]

                                Frank Reidar Haugen wrote:

                                his teacher must be correct in saying that Python is what the programmers need today, to be hireable

                                But did the teacher actually say that? Someone who wants to drive large trucks or fly jumbo-jets for a living would not start out on them, he would start out on smaller/easier vehicles and work up to the larger/more demanding vehicles as they gain skill. There is no requirement that a first language be your only language any more than a first girlfriend should become your life partner. A student should be introduced to many languages, so the student can see the similarities and differences -- it makes picking up new languages easier. I was introduced to COBOL, Fortran, LISP, Assembly, and Pascal yet never had to use them professionally. Most of my career I have used C and C# with minor excursions into VAX BASIC and VB.net and a small amount of Perl as well. A developer who knows only one language (especially if self-taught) is crippled.

                                You'll never get very far if all you do is follow instructions.

                                OriginalGriffO Offline
                                OriginalGriffO Offline
                                OriginalGriff
                                wrote on last edited by
                                #35

                                PIEBALDconsult wrote:

                                A developer who knows only one language (especially if self-taught) is crippled.

                                Well said! It's also the case that learning a new language is a lot, lot quicker than learning the mind-set of programming: to a large extent the language is pretty much irrelevant (except for the final implementation)

                                Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952) Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)

                                "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                                "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                                1 Reply Last reply
                                0
                                • J JimmyRopes

                                  mikepwilson wrote:

                                  Frankly I'd be using it now [Python] if my code base wasn't already in perl.

                                  That explains a lot. :~ Before you go off on me I have coded in perl because I am a code whore and will code in any language you are willing to pay me to code in, but it is not my first choice of language.

                                  Once you lose your pride the rest is easy.
                                  The report of my death was an exaggeration - Mark Twain Simply Elegant Designs JimmyRopes Designs
                                  I'm on-line therefore I am. JimmyRopes

                                  M Offline
                                  M Offline
                                  mikepwilson
                                  wrote on last edited by
                                  #36

                                  My real first language of choice is C++. But for just about everything I do (multi-platform ETL and light servers) a true scripting language is absolutely the right choice. There's so little excuse to use C++ nowadays. Makes me sad. So that pretty much means perl or python. Given that I had 15 years of perl under my belt and 2 years of python, that decided that. I won't involve myself in microsoft's toolchain unless I'm writing a gui.

                                  W 1 Reply Last reply
                                  0
                                  • L Lost User

                                    Why Phyton? Hisotry; 20 years ago the only programming languages at school would be the ones that'd be non-microsoft and free. It was said uni doesn't want a vendor-lock in. Hence, they schooled people in Turbo Pascal (real world used Delphi, but that ain't free) and Java (in the VB6-days).

                                    Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]

                                    P Offline
                                    P Offline
                                    PIEBALDconsult
                                    wrote on last edited by
                                    #37

                                    Eddy Vluggen wrote:

                                    20 years ago ... non-microsoft ... doesn't want a vendor-lock in.

                                    Well, it was a little more than twenty years ago, but most of my college classes (at three different colleges) used VAX/VMS. I did have some classes in Turbo Pascal and Turbo C, though. Microsoft was (and is) merely an annoying upstart. :-D

                                    You'll never get very far if all you do is follow instructions.

                                    1 Reply Last reply
                                    0
                                    • M mikepwilson

                                      My real first language of choice is C++. But for just about everything I do (multi-platform ETL and light servers) a true scripting language is absolutely the right choice. There's so little excuse to use C++ nowadays. Makes me sad. So that pretty much means perl or python. Given that I had 15 years of perl under my belt and 2 years of python, that decided that. I won't involve myself in microsoft's toolchain unless I'm writing a gui.

                                      W Offline
                                      W Offline
                                      W Balboos GHB
                                      wrote on last edited by
                                      #38

                                      mikepwilson wrote:

                                      There's so little excuse to use C++ nowadays

                                      Actually, when teaching of of the C??'s, I think C++ is a better choice than C#. Granted, C# will be easier to learn. But, at least if you're a professional, you should know what you're really doing. Eg.

                                      This.that.somewherelse; // C#
                                      class.value;

                                      vs

                                      This::that::somewherelse; // C++
                                      class.value;
                                      class->value;

                                      Also methods various other similar things. You're not distinguishing a name space from the various other separation options. Fewer mistakes but less understanding in what the meaning is of what you're doing. When the pedal hits the metal. An opinion.

                                      "The difference between genius and stupidity is that genius has its limits." - Albert Einstein

                                      "As far as we know, our computer has never had an undetected error." - Weisert

                                      "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010

                                      1 Reply Last reply
                                      0
                                      • M mikepwilson

                                        Python is really well structured, especially for a beginner. It's forgiving, multi platform and pretty powerful. I know of a major bank that uses python to do their risk analytics, after doing rather a lot of technology performance comparisons. PHP is a godawful mess, and C# is tightly platform specific. It's a really nice language. Sure, people whine about the whitespace/tab thing. But once you get over it (it takes about 2 hours), it yields a much cleaner block of code. Frankly I'd be using it now if my code base wasn't already in perl. I'd say give it a shot. It'll almost certainly surprise you.

                                        F Offline
                                        F Offline
                                        Frank R Haugen
                                        wrote on last edited by
                                        #39

                                        mikepwilson wrote:

                                        PHP is a godawful mess, and C# is tightly platform specific.

                                        Yes, PHP is a mess, but I like it, (I had to learn it, and I found it fantastic after a while), though nowadays I believe a "from scratch" re-writing of PHP in it's entirety might be in order. C# is no longer Windows exclusive, due to Mono, and if I understand the news coming from Microsoft, C# will get a "native" compiler, making it much more flexible. I have had a look at it, just to help my friend with some of the concepts, but I don't see the attraction. I feel this joke I heard:

                                        Two programmers are standing at a bar talking shop, when a teen swagers over, and join the conversation. He asks the two older programmers what languages they are using. One of the guys answers: "I do OS development, mostly in C++". The other Guy answers: "I mostly do enterprise applications development in C#", The kid then says: "Coool, I myself program in Py...". In the Police report, the kid fell 14 times against the two programmers' fists.

                                        -Sums up my attitude towards Python. But hey, arguing over programming languages, (and IDE's, text editors, code formatting, etc,), is sometimes like arguing politics :P -Frank

                                        1 Reply Last reply
                                        0
                                        • F Frank R Haugen

                                          A friend of mine has started his journey to become a programmer. His class is learning Python, and I mus wonder, Why Python? I want him to have a look at C-like languages in-stead, (for when he's finished with his current course), but he is adamant that his teacher must be correct in saying that Python is what the programmers need today, to be hireable. I am a big fan of C# and PHP, and I see little in Python that makes them comparable, (granted I haven't used much time with Python), But I can't see it even begin to compete with the big ones, (The C-like languages). But am I wrong? The real question is really: are there really any big differences between the top 15 or 20 most popular programming languages? -frank

                                          S Offline
                                          S Offline
                                          SkysTheLimit
                                          wrote on last edited by
                                          #40

                                          When I was in South Africa I taught a first year university course called Fundamental Algorithmic Concepts which also included some basic programming skills. It was a school-side decision that Python was considered to be the best first language and so that's what I had to use. (We used C on Unix platforms when I took the course). I put a lot of thought into that question because it seemed to me a dumbing down of the course content. Don't get me wrong, Python is a powerful language that is not overly platform dependent and it allows feature-rich programs to be developed quickly. The problem that I have with it is that it masks a lot of the internal workings of programming languages and compilers. Syntactically, once a person knows Python, it is fairly easy to convert a Python program to C but end up with inefficient or even dangerous code as a result. I guess Python allows the instructor to abstract out just the programming aspects of the content without having to pay attention to the architecture/memory aspects of the system(s) that program is going to run on. But I think that ultimately, if your friend wants to transition to a job beyond merely coding to a spec, he would need to get familiar with some C-like language.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups