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 this sudden hype for Python?

Why this sudden hype for Python?

Scheduled Pinned Locked Moved The Lounge
careerpythontoolsquestion
40 Posts 25 Posters 0 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.
  • P PIEBALDconsult

    Python is the new Pascal. Good for learning, rarely used to run a business.

    L Offline
    L Offline
    Leo56
    wrote on last edited by
    #20

    Oy! I like Pascal (especially in the Borland Delphi flavours) and I did develop/run business software in it (and the business was very grateful!) ;P

    1 Reply Last reply
    0
    • E Eytukan

      As if they just found the answer for this whole universe' existence. I asked one of the job applicants, a fresher what he wants to be. he says "Python developer". Which felt okay, to start with. Then I asked, after 5 years? Applicant: "Senior Python developer" Then I insisted, if he'd be interested to specialize any of the technology than tools. (We've had enough with people who could never adapt to change) Applicant: No, I want to be expert Python developer. I had to tell him I see no scope for growth or any long term plans for him in our company as we don't have rolls called "python SME, python super Expert, python Engineering manager/director & Python CEO, CTO & Python magician" Some or many of you might still feel specializing on a specific language and building career over it is fine, I might find it okay too if it's useful for the work. Unfortunately, for us, it's not. We have come around different tools and different needs requesting the devs to learn new tools to get things done. I did enquire with other folks why these kids are so obsessed with Python. Looks like their instructors at college have said "Python" is the future. That's where there money is. :( Im developing a fresh dislike for "Python".

      Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy Falcon.

      K Offline
      K Offline
      kalberts
      wrote on last edited by
      #21

      Python is so much more than a language. It is a tool for power, for dominance, for fighting back against anyone who attemtps to put any other infrastructure, any other way to organize your files, any other way to distribute updates... Python has got its own. Once you have succeeded in getting Python into your organization, you can disregard a whole lot of the stuff you earlier had to take into consideration: The OS, the standard libraries, interfacing to other systems... You can do it your way, you are the one mastering it. I am working in a development environment using several different languages and development tools. Everyone but the Python guys cooperate and coordinate with the others, but the Python guys turn their back to the others: Sorry (or not really sorry) - we do things in a different way in Python! They demand that all company wide solution be those that fit the Python infrastructure; it is impossible for them to accept general solutions. Rather, they present (or develop themselves, in the back office, halfway in secrecy) Python specific solutions applicable for Python only. Their answer to the question of general applicability is simple: Just switch everything project to Python! This is certainly not specific to our company. I see it everywhere I meet other software people, in the professional media, everywhere Python is mentioned, it is with a disregard for everything non-Python. Python (and Python people) take care of themselves, ignoring others. Python is a tool for dominance. Those who manage the Python infrastructure - the thousands of Python packages, the Python specivic distribution mechanisms, the structure of the Python directories, the ways to identify tools and versions and files and everything, ... - have so much power over the entire software development process, compared to one who has learned another dotNet language that fits nicely into the the existing infrastructure. Btw, Python is not the only software used as a dominance tool. The containerisation software (and people) are the same way: Forget your old ways of managing software build environments, do as we tell you to! Sure, you must redo a lot from bottom up, because we tell you to isolate yourself from your old OS, your old file system structures, your old build software, your old artifact handling - that's the whole pupose of it: Do it as we tell you to! That's power - to us who master that specific tool!

      G 1 Reply Last reply
      0
      • M Marc Clifton

        Python can be quite impressive. To name a few things: 1) Huge 3rd party support and many very decent libraries, and some really interesting stuff, including things like AI, deep learning, etc. 2) IDE's - Visual Studio, JetBrains PyCharm, umm, Eclipse, including debugging 3) [Project Jupyter](http://jupyter.org/) is cool 4) It's usually more concise than C#. [Example](https://marcclifton.wordpress.com/2017/04/25/who-was-born-on-your-birthday/). 5) It can be impressive:

        >>> 2**160
        1461501637330902918203684832716283019655932542976

        1. Cross platform -- I develop UI's and custom SBC hardware controllers in Python, and can write and debug the code (mocking the hardware I/O) in Windows and test it, move it over to the Debian box, and it works. :) 7) Django for web hosting is actually cool and well thought out, more so than Ruby on Rails, IMO, but then I'm biased against anything Ruby. 8) Brain dead simple to interface to C code, and more importantly, to build the library that can be imported into your Python app. 9) Docker / container support is trivial. Interfacing with Docker using Python is trivial. 10) Ruby is dying. Thank God. 11) My experience with Ruby was entangled with experiences of egoistic developers, similar to what I experienced when Java was all the rage. With Python, the egoism seems to be considerably toned down. That's important to me because egoistic developers tend to be dangerous, biased, opinionated, arses to work with. And they're actually really bad coders too. Cons: 1) It's slow, of course, being interpreted 2) If you want speed, code it in C (I personally haven't tried Python with C++) 3) It's scripted. PyLint helps to catch many stupid typos and construct errors that a C# IDE would redline for you before you even hit Build. While I'm forced to deal with Javascript/HTML/CSS (believe it or not, I still have to get my toes wet with TypeScript or similar) and occasionally SQL, C# is my language/bias of choice, Python is my go-to language for SBC and container development. At some point I'll probably poke at Go. For a lot of things, it's quite decent but so is, for example, C#, unless you're doing something specific where the answer is "Python would make this soooo much easier."

        Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to

        S Offline
        S Offline
        sir_download_alot
        wrote on last edited by
        #22

        Thanks for your summary! Very helpful list!:thumbsup:

        1 Reply Last reply
        0
        • K kalberts

          Python is so much more than a language. It is a tool for power, for dominance, for fighting back against anyone who attemtps to put any other infrastructure, any other way to organize your files, any other way to distribute updates... Python has got its own. Once you have succeeded in getting Python into your organization, you can disregard a whole lot of the stuff you earlier had to take into consideration: The OS, the standard libraries, interfacing to other systems... You can do it your way, you are the one mastering it. I am working in a development environment using several different languages and development tools. Everyone but the Python guys cooperate and coordinate with the others, but the Python guys turn their back to the others: Sorry (or not really sorry) - we do things in a different way in Python! They demand that all company wide solution be those that fit the Python infrastructure; it is impossible for them to accept general solutions. Rather, they present (or develop themselves, in the back office, halfway in secrecy) Python specific solutions applicable for Python only. Their answer to the question of general applicability is simple: Just switch everything project to Python! This is certainly not specific to our company. I see it everywhere I meet other software people, in the professional media, everywhere Python is mentioned, it is with a disregard for everything non-Python. Python (and Python people) take care of themselves, ignoring others. Python is a tool for dominance. Those who manage the Python infrastructure - the thousands of Python packages, the Python specivic distribution mechanisms, the structure of the Python directories, the ways to identify tools and versions and files and everything, ... - have so much power over the entire software development process, compared to one who has learned another dotNet language that fits nicely into the the existing infrastructure. Btw, Python is not the only software used as a dominance tool. The containerisation software (and people) are the same way: Forget your old ways of managing software build environments, do as we tell you to! Sure, you must redo a lot from bottom up, because we tell you to isolate yourself from your old OS, your old file system structures, your old build software, your old artifact handling - that's the whole pupose of it: Do it as we tell you to! That's power - to us who master that specific tool!

          G Offline
          G Offline
          GKP1992
          wrote on last edited by
          #23

          Sounds so much like Swift. :laugh:

          I am not the one who knocks. I never knock. In fact, I hate knocking.

          1 Reply Last reply
          0
          • S stoneyowl2

            When ever I see the word 'expert' it always reminds of a quote (can't remember from where): "An 'ex' is a has been, and a 'spurt' is a drip under pressure". I never want to be an expert, but I will settle for competent or knowledgeable.

            A human being should be able to change a diaper, plan an invasion, butcher a hog, navigate a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects! - Lazarus Long

            J Offline
            J Offline
            John Nurick
            wrote on last edited by
            #24

            >"An 'ex' is a has been, and a 'spurt' is a drip under pressure". I first heard it from CPO Pertwee in The Navy Lark in the 60s or 70s. John

            1 Reply Last reply
            0
            • S Slacker007

              because it is the web programming language of choice for the anti-Microsoft crowd. That and Django Unchained

              M Offline
              M Offline
              Michael Breeden
              wrote on last edited by
              #25

              Yes and in practical terms that means Amazon even more than Linux

              1 Reply Last reply
              0
              • E Eytukan

                As if they just found the answer for this whole universe' existence. I asked one of the job applicants, a fresher what he wants to be. he says "Python developer". Which felt okay, to start with. Then I asked, after 5 years? Applicant: "Senior Python developer" Then I insisted, if he'd be interested to specialize any of the technology than tools. (We've had enough with people who could never adapt to change) Applicant: No, I want to be expert Python developer. I had to tell him I see no scope for growth or any long term plans for him in our company as we don't have rolls called "python SME, python super Expert, python Engineering manager/director & Python CEO, CTO & Python magician" Some or many of you might still feel specializing on a specific language and building career over it is fine, I might find it okay too if it's useful for the work. Unfortunately, for us, it's not. We have come around different tools and different needs requesting the devs to learn new tools to get things done. I did enquire with other folks why these kids are so obsessed with Python. Looks like their instructors at college have said "Python" is the future. That's where there money is. :( Im developing a fresh dislike for "Python".

                Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy Falcon.

                T Offline
                T Offline
                Tomz_KV
                wrote on last edited by
                #26

                A young person may not really know what he wants to be until he works for a few years even longer.

                TOMZ_KV

                1 Reply Last reply
                0
                • E Eytukan

                  As if they just found the answer for this whole universe' existence. I asked one of the job applicants, a fresher what he wants to be. he says "Python developer". Which felt okay, to start with. Then I asked, after 5 years? Applicant: "Senior Python developer" Then I insisted, if he'd be interested to specialize any of the technology than tools. (We've had enough with people who could never adapt to change) Applicant: No, I want to be expert Python developer. I had to tell him I see no scope for growth or any long term plans for him in our company as we don't have rolls called "python SME, python super Expert, python Engineering manager/director & Python CEO, CTO & Python magician" Some or many of you might still feel specializing on a specific language and building career over it is fine, I might find it okay too if it's useful for the work. Unfortunately, for us, it's not. We have come around different tools and different needs requesting the devs to learn new tools to get things done. I did enquire with other folks why these kids are so obsessed with Python. Looks like their instructors at college have said "Python" is the future. That's where there money is. :( Im developing a fresh dislike for "Python".

                  Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy Falcon.

                  M Offline
                  M Offline
                  Michael Breeden
                  wrote on last edited by
                  #27

                  It is easy to learn... but that comes with it's own dangers. Because the schools can use Linus for free, they tend to and that environment lends itself to Python As mentioned elsewhere it is the darling of the Anti-Microsoft crowd, but there is a twist to that. In practical terms that means Amazon even more than Linux. You should be aware that Amazon is making a huge effort of social engineering, partly to sell AWS services, but there is more to it than that. They have a political agenda as well and that includes "programmers" as a commodity - staffing on demand. Python fits that because of its simplicity. Python is a money maker for AWs also, because it is not very efficient, so you will need more AWS computing resources to use it = more money for Amazon. One other reason for the popularity of Python though is that it is a practical alternative to FORTRAN. The science world has finally accepted a replacement for FORTRAN and that has made just about everyone happy. One other reason for the popularity of Python though is that it is a practical (free) alternative to Matlab. DataScience and data-mining is all the buzz now and Python has good capability for that - using C code to make it work.

                  1 Reply Last reply
                  0
                  • P PIEBALDconsult

                    Python is the new Pascal. Good for learning, rarely used to run a business.

                    S Offline
                    S Offline
                    Slacker007
                    wrote on last edited by
                    #28

                    PIEBALDconsult wrote:

                    rarely used to run a business.

                    On a corporate level, yes, I agree with this. However, I know for a fact that many game development companies (AAA in fact), use Python/Django/etc. for their websites and web stuff, exclusively. Also, I am seeing an influx in MongoDB for the back-end on a lot of these gaming sites. Gaming may not be a big deal with a lot of the members here, but it is a multi-billion dollar industry. Just saying...

                    1 Reply Last reply
                    0
                    • P PeejayAdams

                      Yes, the candidate's single-language fixation is a bit ridiculous but there's a flip-side to this. Employers frequently insist on commercial experience in specific languages. We've all seen those adverts that demand version X of this and version Y of that when what they actually need is someone who can program a computer. Whilst any good techie would recognise that a good Java programmer is likely to provide a lot more long-term benefit in a .NET shop than a lousy C# programmer ever will - HR types and recruitment pimps don't see the world that way. This means that we tend to get glued to a particular tech-stack whether we like it or not.

                      98.4% of statistics are made up on the spot.

                      S Offline
                      S Offline
                      SeattleC
                      wrote on last edited by
                      #29

                      I dunno. I'm a C++ expert more than I'm any other thing, and that has worked pretty well for me career-wise. Perhaps there's a difference in how powerful being an expert in C++ makes you, versus python (igniting flame war).

                      1 Reply Last reply
                      0
                      • M Marc Clifton

                        Python can be quite impressive. To name a few things: 1) Huge 3rd party support and many very decent libraries, and some really interesting stuff, including things like AI, deep learning, etc. 2) IDE's - Visual Studio, JetBrains PyCharm, umm, Eclipse, including debugging 3) [Project Jupyter](http://jupyter.org/) is cool 4) It's usually more concise than C#. [Example](https://marcclifton.wordpress.com/2017/04/25/who-was-born-on-your-birthday/). 5) It can be impressive:

                        >>> 2**160
                        1461501637330902918203684832716283019655932542976

                        1. Cross platform -- I develop UI's and custom SBC hardware controllers in Python, and can write and debug the code (mocking the hardware I/O) in Windows and test it, move it over to the Debian box, and it works. :) 7) Django for web hosting is actually cool and well thought out, more so than Ruby on Rails, IMO, but then I'm biased against anything Ruby. 8) Brain dead simple to interface to C code, and more importantly, to build the library that can be imported into your Python app. 9) Docker / container support is trivial. Interfacing with Docker using Python is trivial. 10) Ruby is dying. Thank God. 11) My experience with Ruby was entangled with experiences of egoistic developers, similar to what I experienced when Java was all the rage. With Python, the egoism seems to be considerably toned down. That's important to me because egoistic developers tend to be dangerous, biased, opinionated, arses to work with. And they're actually really bad coders too. Cons: 1) It's slow, of course, being interpreted 2) If you want speed, code it in C (I personally haven't tried Python with C++) 3) It's scripted. PyLint helps to catch many stupid typos and construct errors that a C# IDE would redline for you before you even hit Build. While I'm forced to deal with Javascript/HTML/CSS (believe it or not, I still have to get my toes wet with TypeScript or similar) and occasionally SQL, C# is my language/bias of choice, Python is my go-to language for SBC and container development. At some point I'll probably poke at Go. For a lot of things, it's quite decent but so is, for example, C#, unless you're doing something specific where the answer is "Python would make this soooo much easier."

                        Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to

                        A Offline
                        A Offline
                        atali
                        wrote on last edited by
                        #30

                        Syntactically Python is one of the worst languages that are developed recently. Maybe there are others like that, I don't know. This is one of the languages where 'nothing' matters, as in white spaces define the structure of the program. Code reviews are made almost impossible because instead of answering a question 'is the program structure as-is correct?' you need to answer a question 'which of all possible structures would be correct?'. Simple yes/no becomes 'design same program that you're reviewing on the spot and see if you come up with same result'. Example:

                        if (x)
                        something()
                        somethingelse()

                        Should somethingelse() be indented like this? If that code is already indented by 5 levels, maybe somethingelse() needs to be pulled back one level? two? three? People can't indent properly in languages where indentation is not important (curly brace languages, for example), and you'd expect them to indent something correctly where it is important? The initial hype came by showing: look, it's simple, i type '2+3', it prints '5'. An over-glorified calculator. Next, they print 'hello world' and see on console 'hello world', and it only takes one line of code instead of 10. Great. It makes simple things simpler and hard things almost impossible. There are tons of libraries written in Python, but i haven't seen data about how efficient Python is for developing these libraries, as opposed to some languages with static typing. Less lines of code does not mean it is overall efficient. Look at code golf on Stack Overflow, they solve small but relatively complex problems there using programs written with 10-20 Unicode characters that are incomprehensible for most developers. Writing a program is about 10% of the effort, maintaining it is another 90%, and languages should be such that maintenance is easier. Maintenance is not 'figuring out what the program does'. That part is trivial, run it through debugger with single-stepping and you see what it does. Maintenance is like any other reverse engineering, where you try to 'figure out what the developer was thinking when they developed that program'. With the example above it is not possible to say for sure if somethingelse() was thought of being part of that condition block or not. You'd need to reverse engineer the entire algorithm in that function, then think if you'd do it in the same way, and if you disagree, you'd do it differently, probably introducing more bugs because you don't have any guidance about original thinking. There

                        S M 2 Replies Last reply
                        0
                        • E Eytukan

                          As if they just found the answer for this whole universe' existence. I asked one of the job applicants, a fresher what he wants to be. he says "Python developer". Which felt okay, to start with. Then I asked, after 5 years? Applicant: "Senior Python developer" Then I insisted, if he'd be interested to specialize any of the technology than tools. (We've had enough with people who could never adapt to change) Applicant: No, I want to be expert Python developer. I had to tell him I see no scope for growth or any long term plans for him in our company as we don't have rolls called "python SME, python super Expert, python Engineering manager/director & Python CEO, CTO & Python magician" Some or many of you might still feel specializing on a specific language and building career over it is fine, I might find it okay too if it's useful for the work. Unfortunately, for us, it's not. We have come around different tools and different needs requesting the devs to learn new tools to get things done. I did enquire with other folks why these kids are so obsessed with Python. Looks like their instructors at college have said "Python" is the future. That's where there money is. :( Im developing a fresh dislike for "Python".

                          Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy Falcon.

                          L Offline
                          L Offline
                          Leng Vang
                          wrote on last edited by
                          #31

                          I have similar experience with someone said about SAS too. Me? I use whatever tools/languages suited for the job. Whichever tools get the job done quicker, that is the right tool, be it Python or Assembler.

                          1 Reply Last reply
                          0
                          • E Eytukan

                            As if they just found the answer for this whole universe' existence. I asked one of the job applicants, a fresher what he wants to be. he says "Python developer". Which felt okay, to start with. Then I asked, after 5 years? Applicant: "Senior Python developer" Then I insisted, if he'd be interested to specialize any of the technology than tools. (We've had enough with people who could never adapt to change) Applicant: No, I want to be expert Python developer. I had to tell him I see no scope for growth or any long term plans for him in our company as we don't have rolls called "python SME, python super Expert, python Engineering manager/director & Python CEO, CTO & Python magician" Some or many of you might still feel specializing on a specific language and building career over it is fine, I might find it okay too if it's useful for the work. Unfortunately, for us, it's not. We have come around different tools and different needs requesting the devs to learn new tools to get things done. I did enquire with other folks why these kids are so obsessed with Python. Looks like their instructors at college have said "Python" is the future. That's where there money is. :( Im developing a fresh dislike for "Python".

                            Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy Falcon.

                            J Offline
                            J Offline
                            jschell
                            wrote on last edited by
                            #32

                            Vunic wrote:

                            I asked one of the job applicants, a fresher what he wants to be. he says "Python developer".

                            So someone with no experience relying on someone whose opinion they respect? Seems pretty normal to me. Now explain to me why people with decades of experience still make statements about stuff that was never true or was only true long ago. And when asked to back up their claims their only evidence often is "because everyone knows that".

                            Vunic wrote:

                            Then I asked, after 5 years?

                            Err...why ask that question at all?

                            1 Reply Last reply
                            0
                            • L Lost User

                              Python is great, but then so is C, C++, C#, Java ... The problem with these people is that what they really want is to be rich and famous. Actually doing some work is not in their mindset.

                              P Offline
                              P Offline
                              Peter Shaw
                              wrote on last edited by
                              #33

                              BANG! - Got it in one. I get on average about 15 questions a week on this on Quora, and every single one of them boils down to the same question. "Whats the fastest way for me to get from Zero Coder to Hero Coder, and the many glorious riches it will give me" Many of them fully believe that it's "All About the Code" and "How great the code looks", so they go hunting for "The easiest language", which for many usually ends up either being Python or JavaScript, why? Simple. Beacuse if you don't know how to do something then there's usually a module/library/bit of code that's just an 'NPM install' or 'PIP install' away.

                              1 Reply Last reply
                              0
                              • M Marc Clifton

                                Python can be quite impressive. To name a few things: 1) Huge 3rd party support and many very decent libraries, and some really interesting stuff, including things like AI, deep learning, etc. 2) IDE's - Visual Studio, JetBrains PyCharm, umm, Eclipse, including debugging 3) [Project Jupyter](http://jupyter.org/) is cool 4) It's usually more concise than C#. [Example](https://marcclifton.wordpress.com/2017/04/25/who-was-born-on-your-birthday/). 5) It can be impressive:

                                >>> 2**160
                                1461501637330902918203684832716283019655932542976

                                1. Cross platform -- I develop UI's and custom SBC hardware controllers in Python, and can write and debug the code (mocking the hardware I/O) in Windows and test it, move it over to the Debian box, and it works. :) 7) Django for web hosting is actually cool and well thought out, more so than Ruby on Rails, IMO, but then I'm biased against anything Ruby. 8) Brain dead simple to interface to C code, and more importantly, to build the library that can be imported into your Python app. 9) Docker / container support is trivial. Interfacing with Docker using Python is trivial. 10) Ruby is dying. Thank God. 11) My experience with Ruby was entangled with experiences of egoistic developers, similar to what I experienced when Java was all the rage. With Python, the egoism seems to be considerably toned down. That's important to me because egoistic developers tend to be dangerous, biased, opinionated, arses to work with. And they're actually really bad coders too. Cons: 1) It's slow, of course, being interpreted 2) If you want speed, code it in C (I personally haven't tried Python with C++) 3) It's scripted. PyLint helps to catch many stupid typos and construct errors that a C# IDE would redline for you before you even hit Build. While I'm forced to deal with Javascript/HTML/CSS (believe it or not, I still have to get my toes wet with TypeScript or similar) and occasionally SQL, C# is my language/bias of choice, Python is my go-to language for SBC and container development. At some point I'll probably poke at Go. For a lot of things, it's quite decent but so is, for example, C#, unless you're doing something specific where the answer is "Python would make this soooo much easier."

                                Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to

                                J Offline
                                J Offline
                                jschell
                                wrote on last edited by
                                #34

                                Marc Clifton wrote:

                                Brain dead simple to interface to C code... If you want speed, code it in C (I personally haven't tried Python with C++)...While I'm forced to deal with Javascript/HTML/CSS

                                I am hoping that the domain of the problems for those two do not overlap.

                                Marc Clifton wrote:

                                For a lot of things

                                For the vast majority of things in the broad scope of all businesses any technology is sufficient. That is because the problems do not originate in the technology but rather in the vast array of other impacts that are involved in delivering something that works (as defined by the business). And because of that a significant factor in technology choice is nothing more than familiarity. Better to choose a tool that one knows, both how to use well and the limitations, rather than attempting to rationalize the choice for an unknown tool based on subjective views on it.

                                1 Reply Last reply
                                0
                                • L Lost User

                                  Python, Java, iPads; as long as it is non-Microsoft "to prevent a vendor-lock in". ..and that attitude helped to create a lot of new 'institutes' that teach .NET in the past years. Most universities and academics would shudder of .NET / Visual BASIC courses :)

                                  Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^][](X-Clacks-Overhead: GNU Terry Pratchett)

                                  L Offline
                                  L Offline
                                  Leng Vang
                                  wrote on last edited by
                                  #35

                                  I don't know. I made good living hanging around Microsoft platform/tools for 30 years. Never ventured too far from it. If I were to stay mainly in small shops and startups, my experience might be different, but all my experience had been with bigger companies/government so they are not shy licensing expensive tools.

                                  1 Reply Last reply
                                  0
                                  • A atali

                                    Syntactically Python is one of the worst languages that are developed recently. Maybe there are others like that, I don't know. This is one of the languages where 'nothing' matters, as in white spaces define the structure of the program. Code reviews are made almost impossible because instead of answering a question 'is the program structure as-is correct?' you need to answer a question 'which of all possible structures would be correct?'. Simple yes/no becomes 'design same program that you're reviewing on the spot and see if you come up with same result'. Example:

                                    if (x)
                                    something()
                                    somethingelse()

                                    Should somethingelse() be indented like this? If that code is already indented by 5 levels, maybe somethingelse() needs to be pulled back one level? two? three? People can't indent properly in languages where indentation is not important (curly brace languages, for example), and you'd expect them to indent something correctly where it is important? The initial hype came by showing: look, it's simple, i type '2+3', it prints '5'. An over-glorified calculator. Next, they print 'hello world' and see on console 'hello world', and it only takes one line of code instead of 10. Great. It makes simple things simpler and hard things almost impossible. There are tons of libraries written in Python, but i haven't seen data about how efficient Python is for developing these libraries, as opposed to some languages with static typing. Less lines of code does not mean it is overall efficient. Look at code golf on Stack Overflow, they solve small but relatively complex problems there using programs written with 10-20 Unicode characters that are incomprehensible for most developers. Writing a program is about 10% of the effort, maintaining it is another 90%, and languages should be such that maintenance is easier. Maintenance is not 'figuring out what the program does'. That part is trivial, run it through debugger with single-stepping and you see what it does. Maintenance is like any other reverse engineering, where you try to 'figure out what the developer was thinking when they developed that program'. With the example above it is not possible to say for sure if somethingelse() was thought of being part of that condition block or not. You'd need to reverse engineer the entire algorithm in that function, then think if you'd do it in the same way, and if you disagree, you'd do it differently, probably introducing more bugs because you don't have any guidance about original thinking. There

                                    S Offline
                                    S Offline
                                    swampwiz
                                    wrote on last edited by
                                    #36

                                    I agree. Folks throw hate at the C-style syntax, but at the end of the day, the semicolons & squiggly parentheses make the code determinant. Oh, and C code can be very succinct.

                                    1 Reply Last reply
                                    0
                                    • A atali

                                      Syntactically Python is one of the worst languages that are developed recently. Maybe there are others like that, I don't know. This is one of the languages where 'nothing' matters, as in white spaces define the structure of the program. Code reviews are made almost impossible because instead of answering a question 'is the program structure as-is correct?' you need to answer a question 'which of all possible structures would be correct?'. Simple yes/no becomes 'design same program that you're reviewing on the spot and see if you come up with same result'. Example:

                                      if (x)
                                      something()
                                      somethingelse()

                                      Should somethingelse() be indented like this? If that code is already indented by 5 levels, maybe somethingelse() needs to be pulled back one level? two? three? People can't indent properly in languages where indentation is not important (curly brace languages, for example), and you'd expect them to indent something correctly where it is important? The initial hype came by showing: look, it's simple, i type '2+3', it prints '5'. An over-glorified calculator. Next, they print 'hello world' and see on console 'hello world', and it only takes one line of code instead of 10. Great. It makes simple things simpler and hard things almost impossible. There are tons of libraries written in Python, but i haven't seen data about how efficient Python is for developing these libraries, as opposed to some languages with static typing. Less lines of code does not mean it is overall efficient. Look at code golf on Stack Overflow, they solve small but relatively complex problems there using programs written with 10-20 Unicode characters that are incomprehensible for most developers. Writing a program is about 10% of the effort, maintaining it is another 90%, and languages should be such that maintenance is easier. Maintenance is not 'figuring out what the program does'. That part is trivial, run it through debugger with single-stepping and you see what it does. Maintenance is like any other reverse engineering, where you try to 'figure out what the developer was thinking when they developed that program'. With the example above it is not possible to say for sure if somethingelse() was thought of being part of that condition block or not. You'd need to reverse engineer the entire algorithm in that function, then think if you'd do it in the same way, and if you disagree, you'd do it differently, probably introducing more bugs because you don't have any guidance about original thinking. There

                                      M Offline
                                      M Offline
                                      Marc Clifton
                                      wrote on last edited by
                                      #37

                                      atali wrote:

                                      as in white spaces define the structure of the program.

                                      Yeah, it takes a little bit to get used to, but not much more than the C# style of

                                      if (foo)
                                      {
                                      }
                                      else
                                      {
                                      }

                                      vs. the Javascript (and older C style, I think) style of:

                                      if (foo) {
                                      } else {
                                      }

                                      Python at least uses colons, so you're example should be:

                                      if (x):
                                      something()

                                      Some FP languages (Haskell, Occam, F#) also use whitespace indentation, and once you get used to it, it's rather nice, IMO.

                                      Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

                                      A 1 Reply Last reply
                                      0
                                      • M Marc Clifton

                                        atali wrote:

                                        as in white spaces define the structure of the program.

                                        Yeah, it takes a little bit to get used to, but not much more than the C# style of

                                        if (foo)
                                        {
                                        }
                                        else
                                        {
                                        }

                                        vs. the Javascript (and older C style, I think) style of:

                                        if (foo) {
                                        } else {
                                        }

                                        Python at least uses colons, so you're example should be:

                                        if (x):
                                        something()

                                        Some FP languages (Haskell, Occam, F#) also use whitespace indentation, and once you get used to it, it's rather nice, IMO.

                                        Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

                                        A Offline
                                        A Offline
                                        atali
                                        wrote on last edited by
                                        #38

                                        You're missing the point. A misplaced space in Python completely changes the structure of the program. In curly braces languages you can format the program as an ASCII art, and it still works just the same.

                                        1 Reply Last reply
                                        0
                                        • L Lost User

                                          Anyone whose ambition is to be "an expert in X", is unlikely to make it. In my experience, the experts are the quiet people who get on with their work undisturbed by the surrounding noise. But when asked questions they always come up with excellent answers. I recall one specific individual who really knew the internals of a large OS inside out. When asked how he got to know so much his answer was, "practice, practice, practice".

                                          H Offline
                                          H Offline
                                          Herbie Mountjoy
                                          wrote on last edited by
                                          #39

                                          First qualification an expert needs is to know he/she still has a lot to learn.

                                          We're philosophical about power outages here. A.C. come, A.C. go.

                                          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