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,730
    603
    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 Windowizer

    Mar 7, 2014
    2,207
    980
    90
    #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
    4,071
    4,651
    150
    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
    5,171
    4,811
    180
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. Hadron-Curious

    Hadron-Curious MDL Guru

    Jul 4, 2014
    3,730
    603
    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
    20
    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 Addicted

    May 24, 2013
    793
    719
    30
    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.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. Michaela Joy

    Michaela Joy MDL Crazy Lady

    Jul 26, 2012
    4,071
    4,651
    150
    @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 Addicted

    May 24, 2013
    793
    719
    30
    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.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  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
    4,071
    4,651
    150
    @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...
  13. slope_45

    slope_45 MDL Novice

    Jun 20, 2014
    44
    10
    0
    #13 slope_45, Dec 23, 2018
    Last edited: Dec 23, 2018
    Python is fun and easy to learn. You will quickly learn the basics of programming that apply to any language. The syntax is simple and you can be up and running very quickly. Though it's simple, it's also very powerful. An excellent place to start is:
    How to Think Like a Computer Scientist: Learning with Python 3
    This is an excellent (free) pdf book on learning Python. It's the 3rd edition released 5 December 2018. An excellent IDE for windows can be found here: PyScripter
     
  14. Ramsol

    Ramsol MDL Novice

    Nov 23, 2019
    1
    0
    0
    Yes Of Course, Python is the Best Scientific Programming Language...
     
  15. Tiger-1

    Tiger-1 MDL Guru

    Oct 18, 2014
    7,897
    10,733
    240
    @Ramsol yep I agree and I now learning C# too; :welcome:to MDL
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. CHEF-KOCH

    CHEF-KOCH MDL Expert

    Jan 7, 2008
    1,192
    1,185
    60
    Is Python The Best Scientific Programming Language?

    Scientific? You mean high level language?! It's depends on what you're trying to archive, my vote would be Rust or Golang. Go has several benefits over python.

    PS:
    Welcome to MDL.... :druff:
     
  17. Tiger-1

    Tiger-1 MDL Guru

    Oct 18, 2014
    7,897
    10,733
    240
    Hi CK yesterday I downloaded several IDE's such as AvalonEdit-Master, SharpZipLib-master, gtk-sharp-2.1.245, mono-6.40.198, CodeConverter-master I think this time I'll go crazy once ...
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  18. CHEF-KOCH

    CHEF-KOCH MDL Expert

    Jan 7, 2008
    1,192
    1,185
    60
    Why not use VS Codium or MS Studio (community edition is good enough). So you have two powerful tools, one for daily editing and another one for actual coding.

    You can code with VS Code (Codium) as well but you need lots of extensions, MS Studio is basically the standard and does everything you need.
     
  19. Tiger-1

    Tiger-1 MDL Guru

    Oct 18, 2014
    7,897
    10,733
    240
    yep CK, thanks for the heads up thanks for the suggestions though I already have the VS M$FT DVD is 2015 but I think it does not pay to upgrade what do you think? and still I think it's too intrusive then I also try the first option :good3:
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  20. CHEF-KOCH

    CHEF-KOCH MDL Expert

    Jan 7, 2008
    1,192
    1,185
    60
    Microsoft: We're creating a new Rust-based programming language for secure coding - oh wow, MS finally woke up and decides to steal RUST. :rolleyes:

    Do not get me wrong, securing Windows by replacing old code is a good thing to protect against memory based attacks, however I'm not sure if MS should create it's own coding language, because this gives MS control over it (because MS own "Microsoft Open Source Code of Conduct" is a joke).

    RUST and Go is definitely the future but I'm not sure why MS just do not provide to the original Mozilla RUST based project, which would help everyone.