And what’s currently the most in-demand language/skill?

*I’m looking for an Android app.

  • @sorrybookbroke@sh.itjust.works
    link
    fedilink
    English
    51
    edit-2
    9 months ago

    Those apps aren’t helpful sadly. The best way to learn programming is by making things. The apps can make you think you’re learning syntax, apis, OOP, a language, or other concepts but the second you’re asked to make something or apply your knowlage it’s all useless.

    • gandarf
      link
      fedilink
      English
      99 months ago

      Honestly the best thing is and has always been learn by doing with current “professionals” (people working in the field). Try something, get feedback, adjust and learn and grow. Nothing else compares to real world integration.

  • @orizuru@lemmy.sdf.org
    link
    fedilink
    329 months ago

    You’re not going to learn much from a phone app. Specially programming.

    “Learning apps” are mostly gamified gimmicks. If you never learned programming, you need a good book explaining the concepts of what you’re trying to learn, a computer, a project, and the internet to search when you get stuck.

    I know it’s the boring answer, but this is one of those skills that it’s basically a lot of tinkering, exploration, and nose to the grindstone.

    • @SurpriZeOP
      link
      79 months ago

      Thanks. Appreciate the honesty.

      What book would you recommend these days? I want it to become my main profession. I’m a future expat so I’m looking for a way to sustain myself in Europe. I will be looking for an IT-related job, in case this info could help you recommend something fitting.

      • @orizuru@lemmy.sdf.org
        link
        fedilink
        5
        edit-2
        9 months ago

        It’s really hard to recommend something without knowing what you’re interested in. And you only know what you’re interested in once you start exploring.

        IT is really vast, and some positions do not require a lot of proper programming (besides some system scripts). My advice is to explore a lot of things, and narrow it down later down the line.

        With that in mind, if you never programmed before, I would recommend starting with python. It’s easy to learn, there are a ton of resources out there, and it’s almost the “lingua franca” in a lot of areas (since it’s so popular). I’d say most developers these days are at least familiar with python, so that gives you a lot of options of people you can work with.

        The fact that it’s so popular also means that whatever sub-problem you’re trying to solve, most likely there’s already a python library that does it, or some library written in another language that also includes python bindings.

        Can’t recommend a specific book (since I’ve learn it a long time ago), I’d start by searching “best python resources site:reddit.com”, and go from there.

        EDIT: apparently python can now be used inside Microsoft Excel. This might unlock some entry level positions to automate the admin workflow of a lot of companies (a lot of them heavily rely on Excel).

      • shua_too
        link
        fedilink
        English
        59 months ago

        Re: orizuzu’s comment on python. I’m just starting out too and I’ve really enjoyed Automate the Boring Stuff. I have the course on Udemy, but he’s got the first chunk of it on YouTube if you want to try it out first. There is an accompanying book but I haven’t dived into it, just watching the videos for now. He does a good job of explaining concepts through simple examples that you can type out along with him, which he recommends. Good luck!

  • @Vlyn@lemmy.zip
    link
    fedilink
    English
    229 months ago

    You’ll need a computer, doesn’t matter if it’s a desktop, an old laptop or whatever. You’ll not be able to actually learn programming properly on a phone (besides theory…).

    I like to suggest to get started with online Python courses: https://www.codecademy.com/learn/learn-python-3 (Needs a free account nowadays) where you’ll learn the very basics of programming. What are variables? Conditions? Loops? Bit of object oriented programming (OOP) and so on.

    After doing the course you very much have to download Python and work on your own computer (instead of in the browser) if you want to learn and experiment more.

    Just to get started with the actual language doesn’t matter much. Though at some point you should look at strongly typed languages (like C#) to get a feel for data types. What is an integer? Bool? Float? And so on, something that JavaScript and Python (to some degree) mostly hides from you. One step even further would be C++ where you learn about pointers, how memory works etc. but that’s not necessary for the first year or so (and might only be “good to know” if you don’t intend to go that low level).

    At that point you can probably write whatever little program you want and get it to run. The next step is algorithms, design patterns, how to structure and organize code (concepts like SOLID), databases, source control, security and much more vague knowledge. That’s where it gets difficult and some things you’ll only pick up when actually working in a team.

    • @Yondoza@sh.itjust.works
      link
      fedilink
      49 months ago

      This is the exact path I took, and I highly recommend it. Code academy python then immediately wrote some code to scrape some websites and email me if something I wanted to buy dropped to a price I’d be willing to spend.

      I’d say all in all it took 3 weeks to a month, but I’ve been able to not code for months at a time and still feel comfortable when I come back.

      I am NOT a programmer, I am someone who can cobble something together to accomplish a specific task. I never got to the more abstract concepts you listed, but maybe one day!

  • @chris@l.roofo.cc
    link
    fedilink
    169 months ago

    I don’t think an app will help you. One of the core concepts you have to learn is, how to identify a problem, deconstruct it into it’s core components and write it in way the pc understands.

    Whenever I see someone learning programming there is usually a moment when it clicks and it suddenly gets easier.

    You have to learn the basic concepts of a programming language. Usually there are a lot of concepts that are similar in different languages but also a lot of details that are not.

    I learned programming by reading and experimenting with code but that was the hard way. In your case I’d try to find a course that you like and use that. That is your starting point. When you a through you have to find your own projects to really leant how to program.

  • @Kache
    link
    8
    edit-2
    9 months ago

    https://www.hedy.org/start

    For someone learning programming from zero, it was specifically invented to be:

    Hedy is the easy way to get started with textual programming languages! Hedy is free to use, open source, and unlike any other textual programming language in three ways.

    1. Hedy is multi-lingual, you can use Hedy in your own language
    2. Hedy is gradual, so you can learn one concept and its syntax a time
    3. Hedy is built for the classroom, allowing teachers to fully customize their student’s experience

    Adding to the points above:

    At the end of the gradual progression, Hedy becomes vanilla Python.

    An aspect of the 3rd point is having an online editor & execution environment, so you don’t need to deal with setup.

    After completing the Hedy lessons, can follow up with other learning resources like freecodecamp.org or codeacademy.com.

  • @banana_meccanica@feddit.it
    link
    fedilink
    49 months ago

    I have tried a lot apps. I hate then all. They are full of ads and everyone have subcriptions, rabbit holes for idiots who are ready to give away money. Better learn by books, guides, some youtubes introductions, and by trying some personal project, like even building a minigame or basic program.

  • Ravi
    link
    fedilink
    39 months ago

    Implement a calculator in Java. Easy to set up, easy to start and easy to extend on nearly anything.

  • @PetDinosaurs@lemmy.world
    link
    fedilink
    29 months ago

    Cobol.

    It’s still in use and all the people who know it are dying or already dead.

    On the other hand, I think if you are approaching your career through popularity and not your own talent, you are not going very far in your career.

  • @flamingo_pinyata@sopuli.xyz
    link
    fedilink
    29 months ago

    Despite the (valid) criticisms you will see here, you have to start learning somewhere, so an app will have to do. Or some tutorials, there is a bunch on Youtube. Some 5 years ago Codecademy was the trendy app, Exercism as well. I’m out of the loop these days.

    The goal is getting an internship (even unpaid) as quickly as possible. Most real skills are not taught on these courses, or anywhere formally.

    Aside of that, once you get through the basic level, start reading threads on Hackernews and lobste.rs. You will understand nothing. And that’s good. Try to make sense of it by googling definitions and concepts, that’s how you can learn CS theory outside of a uni.

    • @SurpriZeOP
      link
      29 months ago

      Thank you.

      What’s the most useful thing/language/skill/topic to learn? Something that can be turned into a real profession down the line.

      • @PlexSheep@feddit.de
        link
        fedilink
        19 months ago

        It really comes down on what you want to do.

        Python for general purpose

        Rust, C and C++ for systems engineering (my recommendation)

        Typescript or JavaScript Frameworks if you want to be a front end guy

        Pro tip: once you know a lang, learning new ones becomes relatively easy.

        • @SurpriZeOP
          link
          18 months ago

          Thank you! I’d love to get an internship, but I’m not sure where to start as a future expat. Any ideas? I plan to immigrate to Europe by getting a degree, which is the only way to citizenship. That’s why I’m asking what field would be best to get a degree in, even though people have said a formal education isn’t important in IT.

          • @PlexSheep@feddit.de
            link
            fedilink
            18 months ago

            Bee warned, computer science is hard. Make sure that you don’t just like programming, you like computers.

            I personally study Cybersecurity, I love it, but it can be really hard. I won’t give you a recommendation what to study, you will have to find out yourself.

            Just start slow: Get a Linux machine, maybe a VM if you’re not sure. Need a distro? Start with debian. If you’re not sorry doing offensive security avoid Kali. Learn some Linux stuff, it will help you in every area. And of course program. Just choose what feels right and program meaningful little things, or a bigger thing. Contribute to open source.

            Any more questions?

  • Iago Andrade
    link
    fedilink
    1
    edit-2
    9 months ago

    @SurpriZe
    I saw people stating you *need* a proper computer, with keyboard and mouse, and while I do think that would indeed be ideal, there are some things that can be done through the phone.
    One app that is not directly related to programming, but is a great way to setup a system for programming, and learn a lot about terminals and the linux system, is #termux (though I should warn you to NOT download it from the appstore, install it from #fdroid instead)
    From there you can install many things you actually use for programming, like a compiler, text editors, python, and things that quite often courses pretend don’t exist, by giving you everything already setup in a virtual environment (not saying that is never a good thing, just that it often leaves a gap between learning and actually doing).
    Some sites I would also recommend for learning are https://www.learn-c.org/ for the C language and both https://mystery.knightlab.com/ and https://selectstarsql.com/ (in that order) for learning SQL. They’re great because they let you type the code directly in a window for the problem, and execute right there, so it’s pretty easy to do it from the mobile (though not ideal).
    A nice place to learn more about web dev is directly from https://www.w3schools.com/ where there are great resources on #HTML #CSS and #JavaScript and many more. They also have interactive “try it yourself” spaces in most examples, so you can test the concepts directly on they’re page.
    For help with understanding termux, take a look ate their wiki pages at https://wiki.termux.com
    Hope that helps, and hope you get to love it. If you want to talk about, feel free to send me a message.

    • @SurpriZeOP
      link
      18 months ago

      Thanks a ton! A golden comment with lots of actually helpful info written in a very understandable way.

      I’ve only got one question in the hopes that you might know: What are the fundamental steps I should take before I can apply for an internship or even a very basic entry position in data science (or an in demand IT field, like cyber security)?

      • Iago Andrade
        link
        fedilink
        18 months ago

        @SurpriZe Unfortunately I can’t help you much with that… since I am still stuck in my old career while I try to find my first roles in programming =/
        I can share some of the tips I received myself, but they’re just general tips really. The first one that comes to mind (and one that I unfortunately can’t make use of) is to be enrolled in a course that allows you to take internships, since at least here in Brazil you need to be inside an university or something similar to be able to take those.
        Another one that I am actually trying to do is to complete any small project, even if it is a web page for yourself, because it can be used as a way to show what you can already accomplish, and serves as a portfolio.
        I also want to start getting some hands-on experience by contributing to opensource projects like #inkscape, but I am having trouble finding time to put into that because of my current full time job, but if you have some free time, that may be very interesting too (what could be better than helping the community *and* getting some activity in your github/gitlab).
        Wish I could help more, but wish you good luck with this journey (and if you find other good tips, feel free to share them too haha)

        • @SurpriZeOP
          link
          18 months ago

          Thanks, will check it out!

  • idiotdoomspiral [he/him]
    link
    fedilink
    English
    1
    edit-2
    9 months ago

    I’m a python dev, not really sure what’s most in-demand right now.

    Strictly Android? I like SoloLearn. Pretty stream-lined. I’ve done a bunch of exercises on it to kill time.

    Depending on your patience, exercism.org and termux or an in-browser ide.

    Edit: I do agree with all the replies saying you can’t code on your phone to an extent.

    It’s definitely not the best way to start but you can make it work for you if you use Termux to run your scripts.

    Nano, the terminal editor is alright. Micro let’s you use the touch screen. There’s also Acode which is a straight-up android app that you can code in.

    To be clear, learning to code on your phone is going to be way tougher than on a computer. There’s just more hurdles but it’s not impossible. I do a little coding on my phone here and there, mostly for little scripts or small bugfixes. If I’m coding big stuff on my phone, I use something like repl.it

    I don’t know your situation but if a phone is all you got, then you can do it, just expect to be doing a lot more googling than if you were on a computer.

    • @SurpriZeOP
      link
      1
      edit-2
      9 months ago

      How far has the knowledge of Python taken you so far? Did you study it at a uni? Or self-taught?

      • idiotdoomspiral [he/him]
        link
        fedilink
        English
        29 months ago

        Self-taught. I have a little discord server with some close friends and one of them is computer illiterate so I started working on a bot with a few commands to help him pirate some stuff and it’s grown into thousands of lines of code and I’m constantly adding to it. Runs off a raspi and I’m getting close to my second rewrite.

        I started another bot recently that runs an icecast radio station and the bot handles the commands for that, including managing a SQL database for the music library, downloading music and inserting into the DB.

        The two bots are a little buggy but they run really well most of the time and most of my effort goes into fixing bugs here and there until I work up the motivation to rewrite them from scratch with all the knowledge I gained since the last rewrite.

        Along with a ton of other little scripts and stuff.

        I’ve done a single python class after the first rewrite. Harvard’s CS50P (intro to programming with python).

        That’s the first class I’ve finished since I dropped out of high school and I learn better with a project I’m heavily invested in. It’s been 3ish years since I started that first bot with very little programming background.

        I’m now searching for a junior dev job while doing small database projects for a solar installation company.