Announcement

Collapse
No announcement yet.

Which one to learn

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Which one to learn

    Hi all im currently looking for some opinions on which programming language to learn.

    A bit of background i recently became acquainted with bash scripting say about 6 months ago and while im no master im wondering if i may get a better result with a different language.

    I did a bit of Visual Basic 6.0 in college and a bit of basic html so I'm looking to learn something useful to today's needs.

    Ideally needs to be cross platform between Linux and WUP/Windows 10/11(when released) but at this time thats only optional

    My programs will need a gui as im not the only one who will be using the application and thus others may not be used to the cli

    I guess you could say what languages you think work the best as i know there is no right or wrong awnser really
    Tutorials:
    Yoda's ownCloud Installation on Kubuntu 20.04

    #2
    This site gives a ranking of programming languages as of this summer:
    https://statisticstimes.com/tech/top...-languages.php

    KDE (Plasma Desktop) is made using the Qt API. Qt uses C++. Qt is both commercial and open source. If you want to sell software developed by using Qt then you need a commercial license. Otherwise, you can install the Qt dev tools from the repository or download the open source Qt SDK. To learn Qt is to learn C++.

    Using muon search for
    qttools5-dev-tools
    and install it. Accept all dependencies, which will bring in the Qt Designer, Qt Assistant, Qt linquist, qmake and other components. This is the easiest way to install Qt. There are many packages related to the Qt API in the repository that are not downloaded by dependency when you install qttools5-dev-tools. You can search for them by using "Qt 5" (without the quote marks) in the Muon search bar. Install what looks interesting Don't forget to include the Qt 5 documentation: qttools5-doc. Also in the repository is the Qt GUI RAD editor: qtcreator. Don't forget to install it.

    The Qt SDK (Software Development Kit). You can install the Open Source version, which contains everything, from here:
    https://www.qt.io/download-qt-instal...8-5e8a876d6ab4

    It is the "online installer". There are links to other installation options. The online beginner's tutorial is here:
    https://wiki.qt.io/Qt_for_Beginners


    Another language to learn is Python3, currently the #1 ranked programming language in the world.
    Python3 generally comes installed as default in Ubuntu and Kubuntu. An open source GUI RAD for Python3 is Spyder: python3-spyder in the repository. Spyder is in the repository as ver 4. After installing it you can use pip to upgrade it to spyder5.

    Python3 can be used from the Konsole in an interactive mode. There are a couple other python3 IDE's in the repository, like Idle, but Spyder blows them away. Once you have established a Python3 environment you can install the auto-completion tool called "kite", along with TONS of modules for all purposes. The quickest and easiest way to set up a Python3 programming environment is by following the steps shown on this webpage:
    https://www.digitalocean.com/communi...-04-quickstart

    I started to use Python in 2004 but got diverted into Qt3, which quickly upgraded to Qt4 in 2004. I didn't actually learn Python until about a year ago when I installed the Anaconda Python package. I dropped Anaconda because it was too bulky (543Mb) and was prone to errors when installing packages from non conda sites. Following the method in the link above gives a clean Python3 dev environment. The Python3 modules include Jupyter Notebook, a fabulous tool, and loads of modules dedicated to solving specific problems. The Python3 invironment uses wxwindows contols for GUI interfaces. Or you can use PyQt, which employes Qt5's GUI classes: https://www.guru99.com/pyqt-tutorial.html
    "A nation that is afraid to let its people judge the truth and falsehood in an open market is a nation that is afraid of its people.”
    – John F. Kennedy, February 26, 1962.

    Comment


      #3
      Here is a Python tutorial for "Absolute Beginners" by CS Dojo, one of the best Python channels on YT
      "A nation that is afraid to let its people judge the truth and falsehood in an open market is a nation that is afraid of its people.”
      – John F. Kennedy, February 26, 1962.

      Comment


        #4
        Python is a great way to go. Its versatile, pretty easy to learn, and has a huge community.

        I might get beat up for saying it, but JavaScript is also a pretty good language to learn. Its up toward the top on the lists that GreyGeek posted. If you have any interest in web development it is a must. You can also make cross platform apps using frameworks like Electron. They tend to be a bit heavy and dont perform as well as something built with a compiled language, but it gets the job done.

        If you want to learn something new and fancy, Go and Rust are interesting.

        Comment


          #5
          If you want to learn how to program, start with one of the C variants (C, C++, C#), or Python. Once you understand the logic of effective and efficient programming, then all the languages are open to you.
          The next brick house on the left
          Intel i7 11th Gen | 16GB | 1TB | KDE Plasma 5.24.7 | Kubuntu 22.04.4 | 6.5.0-28-generic


          Comment


            #6
            This was written in 1987 :-)

            When I find my code in tons of trouble,
            Friends and colleagues come to me,
            Speaking words of wisdom:
            "Write in C."

            As the deadline fast approaches,
            And bugs are all that I can see,
            Somewhere, someone whispers:
            "Write in C."

            Write in C, Write in C,
            Write in C, oh, Write in C.
            LOGO's dead and buried,
            Write in C.

            I used to write a lot of FORTRAN,
            For science it worked flawlessly.
            Try using it for graphics!
            Write in C.

            If you've just spent nearly 30 hours
            Debugging some assembly,
            Soon you will be glad to
            Write in C.

            Write in C, Write in C,
            Write in C, yeah, Write in C.
            Only wimps use BASIC.
            Write in C.

            Write in C, Write in C
            Write in C, oh, Write in C.
            Pascal won't quite cut it.
            Write in C.

            Write in C, Write in C,
            Write in C, yeah, Write in C.
            Don't even mention COBOL.
            Write in C.

            Comment


              #7
              Originally posted by whatthefunk View Post
              Python is a great way to go. Its versatile, pretty easy to learn, and has a huge community.

              I might get beat up for saying it, but JavaScript is also a pretty good language to learn. Its up toward the top on the lists that GreyGeek posted. If you have any interest in web development it is a must. You can also make cross platform apps using frameworks like Electron. They tend to be a bit heavy and dont perform as well as something built with a compiled language, but it gets the job done.

              If you want to learn something new and fancy, Go and Rust are interesting.
              Rust is very interesting. I first heard of it last year. Recently it is being discussed as a development language for the myriad of Linux drivers. Torvolds and others discuss it here.
              "A nation that is afraid to let its people judge the truth and falsehood in an open market is a nation that is afraid of its people.”
              – John F. Kennedy, February 26, 1962.

              Comment


                #8
                I'm going to second C as a good place to start. C is a very 'opinionated' language, meaning that it must be coded in a particular way or it doesn't work. It will force you to learn some good habits to form the foundation of your coding style. Then once you get comfortable writing basic programs in C, move onto something object oriented like C++, Java, or C# (pretty much only useful for Microsoft based stuff, which is sad, because it's a fantastic and well structured language)

                Stay away from Javascript early on simply because it is loosey goosey language and encourages bad habits. Once you have good habits established, then learn Javascript. Those good habits you developed will preserve your sanity.
                Last edited by TwoFistedJustice; Jul 10, 2021, 03:47 PM. Reason: speling

                Comment


                  #9
                  I have to say that choosing a good computer language to learn would have to depend on what the goal is. If you want to write device drivers, then Python would not be a good choice -- but C would be. If you want to do GUI development, some object-oriented language would be a good choice: Python or C++.

                  For me, a programming language is a tool to get to a goal, the programming language is not the goal itself..

                  Comment


                    #10
                    IF you are serious about learning how to program using any language, especially as a means of supporting you and your family, you will enter into a process that will not end, even when you are 80, as you learn new languages arising from new technology.

                    My first language was Fortran IV, back in 1967-68, while in grad school. My second language was Apple BASIC, followed immediately by UCSD Pascal, which I loved. SAVVY was the next language I used. It included a built-in database and an AI language interpreter which you could communicate with using normal English. It was built using PolyForth. That made Forth the next language I learned, which was my favorite. Then came COBOL and RGP4 on System & Baby 36's. When I moved to Linux in 1998 I picked up bash. Then began the rise of databases and GUI RAD tools the fronted them. DBase, FoxBase, FoxPro, VisualFoxPro, Advanced Revelation (also called AREV, a DOS based REAL powerhouse of a language plus a built-in Pick db, now called "OpenInsight", which is my second favorite), Powerbuilder, Boa-Constructor with Zope, Java, Qt API & C++, and now back to Python via Jupyter Notebook and Spyder5.

                    In between I've left out the numerous languages and toolkits that I've tried and quickly abandon because they didn't offer a reliable path to generating income from coding: assembly, Prolog,Turtle, Smalltalk, D, Lisp, Borland's Visual C, Delphi, Ruby, Logo, MuPAD, Maxima, Perl, PHP, Tcl/Tk, and many whose names I no longer remember.

                    I made the most money (i.e., supported my family) using Apple BASIC, SAVVY, Forth, Advanced Revelation and the Qt API.
                    Last edited by GreyGeek; Jul 12, 2021, 04:01 PM.
                    "A nation that is afraid to let its people judge the truth and falsehood in an open market is a nation that is afraid of its people.”
                    – John F. Kennedy, February 26, 1962.

                    Comment


                      #11
                      I am not quite sure if you are implying that I am not serious. I won't bother to itemize all the programming languages I have picked up over the years.

                      I guess you missed my point. Even in your examples, you were using programming languages to solve problems and earn money.

                      To use an analogy, if you were planning to work in, say, Spain. It probably won't help you in your job very much to learn Russian. I submit the more useful language to learn, in this case, would be Spanish.

                      Comment

                      Working...
                      X