Hi, I’m learning python and I have purchased a 2015 MacBook air. I want to install Linux on it (Ubuntu) but my friend who’s a developer told me to leave the MacOs because they are similar as operative systems. What do you think? Should I change the os and switch to Linux? Thanks. Edit: thank you for your replies. There are still so many things I don’t understand about programming and os, sorry about that.

  • @[email protected]
    link
    fedilink
    14
    edit-2
    4 months ago

    Depends. Are you happy with MacOS and want to stay in the Apple ecosystem?
    If yes, then just keep it. It is perfectly tailored for your hardware.

    If you are annoyed by it or want to try out something new, then try Linux.
    The 2015 MBA has a Intel CPU afaik and general hardware support should be fine from what I’ve heard.

    Instead of Ubuntu, I would recommend Fedora, either the Gnome or KDE variant. If you prefer minimalism and the coherence/ well-thought-outness of MacOS, then use the Gnome (“Workstation”) variant, and if you prefer customisability, then the KDE-spin.
    You could also take a look at the Atomic variants, they are a newer concept with a few benefits (and also drawbacks) compared to the regular versions.


    As a small tip: no matter if you decide for the mutable or the atomic versions, use Distrobox! While Python is pre-installed, it is a system dependency, and you wanna keep your dev environment isolated from your host OS. If you wanna change the Python version for example, this might otherwise brick your install.

    • @[email protected]
      link
      fedilink
      English
      13 months ago

      Definitely want to use virtual environments instead of messing with the system default Python. I’d keep MacOS and learn Python on that personally. Switch OS when they know what they are doing and more what they want.

    • @[email protected]
      link
      fedilink
      English
      14 months ago

      Gentoo also relies on python for builds. I wonder why older distros shifted to python instead of relying of bash scripts. Isolating your dev environment is quite handy in any scenario. 👍

  • itchick2014 [Ohio]
    link
    fedilink
    114 months ago

    Why not dual boot? It is possible to have both. That is what I typically do and with Mac this can be helpful because sometimes you may need to access MacOS for drivers and such. This way you can cross-compare and have more opportunity to learn.

    • @[email protected]
      link
      fedilink
      54 months ago

      As a Python dev, I think I may understand your desire to get away from Windows. I have often encountered Python tools and frameworks that don’t work on Windows but do on Unix (Linux and MacOS), like Flask, but can’t recall seeing the other way around.

      If:

      • Your laptop is still receiving security updates from Apple and is performing well,
      • And your main focus now is to learn Python

      I would not mess with it and just stick with MacOS.

      If your laptop is no longer supported or it is getting too slow, or if you want to play around with Linux, that would be a good reason to move away from MacOS.

  • @[email protected]
    cake
    link
    fedilink
    93 months ago

    MacOS and Linux are similar for the purpose of learning Python. However I recommend to install GNU/Linux. MacOS hides its internals to provide a better user experience, however as a developer you need to learn how the OS works, and GNU/Linux is much better suited for this.

    • @utnapishtimOP
      link
      43 months ago

      That is also a very good point, thanks.

  • Bobby Turkalino
    link
    fedilink
    English
    94 months ago

    You sound like you’re a bit new to software engineering/computer science, so I would stick to MacOS. Linux as a Desktop OS is not quite a pain-free experience and you’d likely run into issues that would get in the way of you learning programming.

    What people mean by MacOS and Linux being similar is that they are both Unix-based, which basically means that the command-line experience in both OS’s is pretty much the same.

    • @[email protected]
      link
      fedilink
      2
      edit-2
      3 months ago

      I wouldn’t call Linux a “not quite pain-free experience”.
      IMO, the experience has been dramatically improved in the last 2 years or so, and the only pain for most people is just that it’s a new OS with new workflows and approaches.
      Or what would you call painful?

      Just as a background, I’m no IT-guy, just casual user who’s into this weird OS :D

      • @[email protected]
        link
        fedilink
        33 months ago

        Let me guess, you started using Linux daily around 3 years ago?

        In my experience the pains of Linux have been the same for decades (well, not really, xorg.conf was a major pain in the ass). I think in general people get used to Linux and after a year or so and they think the system became simpler, when in reality it’s more that they learned the Linux way of thinking.

          • @[email protected]
            link
            fedilink
            23 months ago

            You might have misinterpreted me, I believe Linux is easy, in fact easier than Windows, but people are just not used to it. When they get used to it it becomes simple, but it’s more in the person to adjust their viewpoint than Linux to get easier. However to the person it seems that Linux is progressively becoming easier, because they fail to acknowledge their changes. But when you’ve been using Linux for 20 years as your daily driver you see every day someone claiming that Linux has only become easy to use X years ago, and almost 100% of the time that person started using Linux X+1 years ago.

            • @[email protected]
              link
              fedilink
              13 months ago

              Hm, not sure about that tbh.

              Fedora is a nice base but has the missing codec problem and their silly fedora flatpak remote. Ublue fixes that.

              So

              1. Use the fedora installer and install Silverblue
              2. Rebase to ublue unsigned
              3. Rebase to ublue signed

              Done. From them on just go to the GUI store and install apps.

              Not everything there is well integrated like toolbox, so you will need the terminal for now.

  • @[email protected]
    link
    fedilink
    English
    8
    edit-2
    4 months ago

    See how well the OS runs. MacOS does have a reputation for slowing down on older hardware as newer versions target their newer machines, and I’m also not even sure if a 2015 is supported by Apple anymore?

    If the laptop is slow or not recievinf security uodates anymore, then switching to Linux may give you a performance boost and will put you back on to an update secure system.

    If MacOS is still running fast on that laptop and it’s secure, then it’d just come down to preference. If you like Linux, or like the degree of direct control Linux gives you then it would be worth installing it.

    And if you decide to keep MacOS you should still try and fresh install the OS, as that may also give a performance boost.

    Edit: in terms of being similar OS, they are but it’s not relevant. Both run python, and the hardware is what matters more when it comes down to compiling. It’s more about the rest of the OS and what your preferences are.

  • smpl
    link
    fedilink
    English
    44 months ago

    Do what you want. It’s your computer.

  • @[email protected]
    link
    fedilink
    34 months ago

    For a developer, I’d try PopOS! It is built on Ubuntu, but doesn’t stray far from it. It has a lot of developer tools and packages either pre installed or easy to access. Simple install process and runs well.

    https://pop.system76.com/

  • zelifcam
    link
    fedilink
    English
    2
    edit-2
    4 months ago

    Try the thing you are asking. If it doesn’t work for you then you know the answer. No one but you can answer your question.

    It’s not like you are selling a car, moving or making some kind of major life decision. It’s just an OS and easily reversable.

  • @[email protected]
    link
    fedilink
    2
    edit-2
    3 months ago

    Use Linux, give it a try.

    I recommend Fedora Kinoite or Silverblue. These are Systems built differently, they have an immutable core that is not changed and is thus very stable. You can add and remove packages, which will only be applied after a reboot, and in general keep this as minimal as possible.

    You can easily reset your system to be running again.

    As a mac user I recommend to use GNOME, maybe with dash-to-panel, so use Silverblue which is Fedoras “atomic” version of GNOME.

    After installation you may want to rebase to ublue and their silverblue-main image to get more goodies.

    Install a distrobox with ubuntu or fedora, install pipx there and whatever IDE etc. you need.

    distrobox create -i (press tab to get the image list) Dev 
    distrobox enter Dev
    
    # add some repositories for pycharm and more
    sudo dnf install fedora-workstation-repositories
    
    # add repo for VS Codium (FOSS version of VSCODE)
    sudo rpmkeys --import https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg
    printf "[gitlab.com_paulcarroty_vscodium_repo]\nname=download.vscodium.com\nbaseurl=https://download.vscodium.com/rpms/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg\nmetadata_expire=1h" | sudo tee -a /etc/yum.repos.d/vscodium.repo
    
    sudo dnf install -y pipx pycharm thonny codium whatever
    
    # export the apps so they appear in your app drawer
    
    distrobox-export --app pycharm
    distrobox-export --app thonny
    distrobox-export --app codium
    

    Explanation: Distrobox uses a Podman container, and allows to install a “separate linux distro” in there. This will be very minimal version and you can do crazy things there and your base OS will not be touched.

    That way you can install Ubuntu, Debian, Fedora, Arch/AUR, Opensuse and more apps.

    Using the “export” function the graphical apps will appear in your app drawer and work perfectly fine. Be sure do do a distrobox upgrade --all once in a while.

    The experience is really painfree.

    On the main OS, get your rest apps as Flatpaks which are sandboxed like on Android, work very well, are up to date and also dont touch your base system.

    Updates go in the background without you noticing, once you reboot you are on your updated system. If an update broke something, do rpm-ostree rollback and stay on that version. If you do something crazy like adding a ton of apps to the base OS, do a sudo ostree admin pin 0 to always save the currently used system as a backup.

    It is way better than Windows, not sure about MacOS but it is for sure way more free. If you want a well working, elegant and simple desktop, GNOME / Fedora Silverblue is a very good option.

    See here for documentation

    Get help in Fedora Discussion

      • @[email protected]
        link
        fedilink
        13 months ago

        I dont think elementaryOS cuts it. Their desktop is too old, they use some old Ubuntu Base.

        I would also go with Fedora silverblue ublue here

        • @utnapishtimOP
          link
          13 months ago

          As I am a beginner do you think it will be difficult to set up? Sorry if this has turned into a conversation.

          • @[email protected]
            link
            fedilink
            1
            edit-2
            3 months ago

            Dont worry. No the setup is easy, just follow these exact steps:

            • download a silverblue iso from their website
            • flash it to a usb stick using fedora media writer from the same website
            • install it: use recommended partition layout, I recommend to encrypt the disk, set keyboard language etc.
            • the silverblue install has very little steps, reboot after finished and in the GNOME desktop you will finish the setup.
            • directly after finishing, open Ctrl+Alt+T (or the terminal from the app menu) and rebase to ublue
            # backup the current version
            sudo ostree admin pin 0
            
            # change to ublue but unsigned (temporary)
            rpm-ostree rebase --reboot ostree-unverified-registry:ghcr.io/ublue-os/silverblue-main:latest #assuming you dont have nvidia
            

            after reboot, open terminal again and run this

            # rebase to the signed image
            rpm-ostree rebase --reboot ostree-image-signed:docker://ghcr.io/ublue-os/silverblue-main:latest
            

            Thats it, ublue takes care of all the rest. It adds the Flathub Flatpak repository where you get your apps.

            If you want apps that need to by on the system (a vpn app, some terminal tools, a different terminal, editor, filemanager etc) you can install them with rpm-ostree install NAME but note that this will slow down updates. I do this with about 18 packages.

            Updates for Flatpak apps and the system are done in the background, install and forget.

            If you want to use Ubuntu, Arch, Opensuse, Debian apps safely, without breaking your system, use distrobox.

            distrobox create Ubuntu -i #press tab
            

            If you are in the default bash shell, you will get a list of images where you can see all the available container images. This allows you to use apps for any distro on your system, and they are not in a VM and have native performance.

            This is typically used for programming (IDE, language, etc.) or compiling, or installing stuff like QGis or RStudio which are not working as Flatpak. I wrote a QGis Distrobox guide on their website, should be merged by now, for RStudio I can write another one (it downloads addons using the dnf package manager which only works on non-atomic fedora and generally is a mess)

            Often you will not need Distrobox for regular stuff, if you dont do these things.

            Dont install random apps that write to the system, which will not work anyways. Search for RPMs on rpmfusion (already added in ublue), COPR, OpenbuildService etc. You need RPMs for the current fedora version.

            You can install GNOME extensions through the firefox addon and the flatpak extension manager.

            When there is an update like Fedora 40 coming soon, wait a few weeks or months. Fedora supports 2 versions, the old one (currently 38) and the current one (currently 39). 39 will become the old one and get updates until half a year or so, and it will be more stable. 40 will get the latest stuff like GNOME 46 or Plasma6 (on the Kinoite image) and thus have more breakages.

            Ublue cant upgrade for some reason, so if you hear about the new version, wait a bit and run

            rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/silverblue-main:latest
            

            Again. If you want to be sure, this is how you make backups

            # show your images
            rpm-ostree status
            
            # 0,1,2,3 are from newest to latest, up to down. The image with the • is currently used.
            
            # save the currently used version
            sudo ostree admin pin 0
            
            # remove the saved version
            sudo ostree admin pin -u 1
            
  • @[email protected]
    link
    fedilink
    English
    14 months ago
    1. Mac OS uses Unix, Linux is Unix Like. At the core their structure’s are the same

    2. however despite being the same they have different software packages.

    The question you need to ask yourself is: does MacOS have the software I need to do what I want?

    For me I need Xcode for iOS development, so that is a yes. But for you, perhaps you may prefer the Python packages on Linux. Or the ease which new software can be installed.

    However regardless on what is better or not, know that you can always re-install MacOS afterwords. Macs have a recovery mode that let’s you wipe the ssd and reinstall. I used it when I upgraded my 2015 Mac from 128GB to 1TB.

    • @[email protected]
      link
      fedilink
      English
      13 months ago

      Python is basically the same on Linux and Mac. The command line tools are actually different. Some apps like date or awk work a little different on Mac. You can install gnu equivalents like gawk via brew or Mac ports.

  • @[email protected]
    link
    fedilink
    14 months ago

    I’d dump macos unless you have specific needs for it (developing for apple devices for example) and you’re still getting updates.

    Use Mint if you really want the Ubuntu ecosystem, it’s much better.

  • piefedderatedd
    link
    fedilink
    13 months ago

    My guess is that a 2015 Macbook Air is probably not going to run a MacOS version that is still supported by Apple. That would be yet another reason to simply install Linux. Before you do so you can go for https://rescuezilla.com/ and do disk cloning to an image that you save to some storage like a USB disk. If you do the same after your installing and tweaked Linux installation, you can have the best of both worlds whenever you need it.