Learning Python Programming Language

Discussion in 'Mixed Languages' started by Hadron-Curious, Jan 16, 2018.

?

Is Python The Best Scientific Programming Language?

Poll closed Feb 15, 2018.
  1. Yes

    2 vote(s)
    40.0%
  2. No

    1 vote(s)
    20.0%
  3. I am sceptical about that claim

    2 vote(s)
    40.0%
  1. Hadron-Curious

    Hadron-Curious MDL Guru

    Jul 4, 2014
    3,548
    526
    120
    I have read Python Programming Language is a high level computer language that is very good with scientific projects due to its neat syntaxes and easy to use many modules despite not having a fast runtime as C, C++ or C#.

    For the main time, I am starting to do some online learning by reading tutorials and the learning curve seems to be easy. Nevertheless, I need help with the best and easiest ways to write programs in Python.

    Is Python really the best programming language to learn for scientific or for routine projects?
     
  2. LiteOS

    LiteOS MDL Expert

    Mar 7, 2014
    1,547
    657
    60
    #2 LiteOS, Jan 17, 2018
    Last edited: Jan 17, 2018
    U should take a look at F#
    its very simple and also functional first lang that can be used to work with .NET quite easily

    I cant vote cos im novice my self

    im learning it cos its good point to start, next lang gonna be half hard hopefully :)
     
  3. Michaela Joy

    Michaela Joy MDL Crazy Lady

    Jul 26, 2012
    3,716
    4,052
    120
    Python is a very powerful language. I've seen it used in many places where I never thought it would work. But it did.

    To answer the question, the best programming language for the job is the one that works with minimal problems.

    Take a look here. https://softwareengineering.stackex...254/how-does-the-python-runtime-actually-work

    Read the first answer to the OP's question. It tells all. ;)

    In scientific work, there are a plethora of development tasks. You may be asked to write a stand-alone data translator / formatter. (i.e. take raw data and plot it.)
    So, you'd have to ask yourself how well the graphics library functions in Python. If you're forced to "roll your own", or use a 3rd party graphics library. (Leadtools comes to mind)
    Then you'd need to load and call functions inside of DLLs.

    Python can do this. (see here: https://stackoverflow.com/questions/252417/how-can-i-use-a-dll-file-from-python )

    If you had to build a real-time control system, you'd probably use a network to communicate with the host device (which may or may not be close to you)
    Also, you may have old hardware that has specific requirements. (This comes to mind: https://en.wikipedia.org/wiki/Computer_Automated_Measurement_and_Control )

    So, you'd pick the development tools that will work with minimal fuss.

    I believe you should learn as much as you can, whenever you can. If you want to tinker with it, then by all means do so.

    It's certainly not time wasted. :)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. R29k

    R29k MDL GLaDOS

    Feb 13, 2011
    4,714
    4,325
    150
  5. Hadron-Curious

    Hadron-Curious MDL Guru

    Jul 4, 2014
    3,548
    526
    120
    I'd possibly do as you guys said. I am getting my hands on as many tutorials as I can get online and download a lot of modules.

    Above all, thank you for your suggestions.
     
  6. Drassh

    Drassh MDL Novice

    Jan 26, 2018
    2
    1
    0
    Python for me was more of a recomendation to get "my fingers wet" and to start understaning the logic in programing So I really don't know. What I do know is html and some css from a high school class. All I can do is read books about the differant languages and mess with Linux to figure it out...
     
  7. Rafe

    Rafe MDL Novice

    Jul 8, 2015
    18
    19
    0
    Python is "good as any", choose your flavor. It is all about learning a language, later you can learn AND master a different language. It is like eating an elephant, one bit at a time. No more, no less. But when you choose, go with it till you have a basic level. THEN you have a better view of what is hot and what is not. :)

    Python is good. My 2 cents
     
  8. AeonX

    AeonX MDL Senior Member

    May 24, 2013
    370
    235
    10
    I think python a good language to start with but do not stick to just one language what is important is to learn logic. You will probably need more than one language for scientific purposes. But I've heard that python is heavily used for this and C must also be another language used depending on the need since it generates extremely fast programs.

    I'm starting to study programming on my own I have a notion of Pascal that was the language given in college but I'm re-studying everything from scratch. I dropped out of the computer science course and entered the physics course shortly.

    I am in doubt whether to give priority to python or C.
     
  9. Michaela Joy

    Michaela Joy MDL Crazy Lady

    Jul 26, 2012
    3,716
    4,052
    120
    @AeonX: You've 'hit the nail right on the head'. Once you understand OOP, everything just falls into place.
    Object Pascal (Delphi) is a great language / development environment that has come a long way.

    C is a great language for doing low level stuff where an interpreter isn't needed. Nothing needs to be installed except for your program.
    C was the first high level language I learned, so I'll always have a soft spot in my heart for it. :)

    I've been tinkering with C# these days. I really like it. But I've already been through the learning curve of C and C++.

    I would suggest you learn C, then look at C++. At that point, you can either move over to C# or Java.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  10. AeonX

    AeonX MDL Senior Member

    May 24, 2013
    370
    235
    10
    Thanks, I personally have a lot of desire to learn C and then C++.

    Another detail is that knowing C/C++ to learn any other language is easy.
     
  11. SnoopDoggy

    SnoopDoggy MDL Novice

    Aug 1, 2018
    8
    1
    0
    Which language you choose for your project depends on multiple factors: level of support, scalability, availability of libraries, cost of frameworks that can cut down development time, and so on. I prefer Ruby on Raild. Ruby, which was developed more than twenty years ago, is one of the most popular programming languages today. RoR is a free open source framework. Also I've read an interesting article about speed https://yalantis.com/blog/how-to-speed-up-your-ruby-on-rails-app/ I have never heard about Python, so I need your help! Can you compare these 2 languages
     
  12. Michaela Joy

    Michaela Joy MDL Crazy Lady

    Jul 26, 2012
    3,716
    4,052
    120
    @snoop: You left out one important factor: Is your project a locally deployed application or a web-centric application.

    If you're building an app that lives on the platform (e.g. Windows / 'nix / android) then the app has the option of accessing the network.

    Web-centric apps are almost exclusively client / server apps, with the Web browser being the client.
    Back in my day ( :) ) Client / server apps were all created to run on an Intranet (private network with no outside access.)
    They used SQL servers like MS SQL and Borland Interbase, and allowed the client to run queries and stored procedures to access data.

    And the clients were custom applications written in some Object Oriented language.

    Python is a scripting language that runs on a client via an interpreter. Here's a good place to start.

    https://www.astro.ufl.edu/~warner/prog/python.html

    Best of luck.

    And Welcome to MDL.
    :welcome2:
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...