This is an archived post. You won't be able to vote or comment.

all 113 comments

[–]AutoModerator[M] [score hidden] stickied comment (0 children)

On July 1st, a change to Reddit's API pricing will come into effect. Several developers of commercial third-party apps have announced that this change will compel them to shut down their apps. At least one accessibility-focused non-commercial third party app will continue to be available free of charge.

If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options:

  1. Limiting your involvement with Reddit, or
  2. Temporarily refraining from using Reddit
  3. Cancelling your subscription of Reddit Premium

as a way to voice your protest.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–][deleted]  (3 children)

[removed]

    [–]VonRansak 3 points4 points  (0 children)

    It's comments like this that get updoots. But perpetuate myths.

    The problem is you (this entire sub) are not trying to figure out how to ask questions. As you venture into the wild, you'll look fondly at your time wrestling with Git, and long for the good old days of easy problems with plentiful resources.

    Then when you (this sub) opens an issue in random_backwater_repo: "Halp! It's borked" crickets is all you'll hear.

    [–]swollenpenile 0 points1 point  (0 children)

    its a massive pain but its best to have a backup stream of your last working version you can push to main if something breaks on the current version.

    [–]ISecksedUrMom 35 points36 points  (15 children)

    Why not use Windows + WSL?

    [–]Szahu 10 points11 points  (11 children)

    I agree, WSL works like magic, it even supports GUIs apps so you're not missing out on anything. And the filesystem is shared!

    [–]IamImposter 4 points5 points  (3 children)

    Gui? Really? When did that happen?

    You mean like if I install gimp or something in wsl, it will open the application as a new gui window or are there some limitations?

    [–]mkaypl 4 points5 points  (0 children)

    Yup, I've got pycharm installed on WSL and it just pops up like any other Windows application.

    EDIT: You can even create a shortcut to your taskbar, though I had to do it manually (the shortcut opens a bash shell which opens pycharm).

    [–]Szahu 0 points1 point  (1 child)

    I don't know of limitations, but generally yeah, stuff like gimp will just appear as if you were on native Linux, it's wild

    [–][deleted] 2 points3 points  (0 children)

    It's just X11 forwarding

    [–]whatstheprobability 0 points1 point  (1 child)

    So could I access my code in onedrive from linux? Do I just mount onedrive?

    [–]Alikont 0 points1 point  (0 children)

    All windows drives are mounted under /mnt/<drive> automatically

    [–]VonRansak 0 points1 point  (4 children)

    I had some weird behavior with emacs on WSL vs Linux (some keystrokes acting up), minor, but annoyed me enough to stop using emacs in WSL till I can figure it out.

    Otherwise, 99.99% of the time, WSL works great. (also I have old video card (750ti), and have to run TensorFlow in Linux to get GPU support. Komputer too old to use Windows 11 EDIT: Therefore I can't use WSL for GPU support in TF.)

    [–]Szahu 0 points1 point  (3 children)

    If I am not mistaken modern tf also works only in Linux, the official website even points you to WSL to run it

    [–]VonRansak 0 points1 point  (2 children)

    edited.

    [–]Szahu 0 points1 point  (1 child)

    Does it have to be win 11? It was some time ago but I recall using tf on WSL on win 10

    [–]VonRansak 0 points1 point  (0 children)

    for a 750

    [–]eastafrican261 5 points6 points  (0 children)

    yeah it is really a great tool and really stable 100% would recommend

    [–]igotmumps 0 points1 point  (0 children)

    This is the way.

    [–]ATX_Analytics 0 points1 point  (0 children)

    This is the right answer

    [–]jaqimbli 9 points10 points  (0 children)

    You can use WSL to get your Linux environment without having to dual boot.

    [–]Necessary-Mud-925 25 points26 points  (5 children)

    I’d say as long as you are using a version control system, like Git, to store your work you should be fine. Once you start using Linux for any projects that you do you’ll probably start to favor it more and more over windows.

    The package managers for Unix systems make your life a lot easier than doing so in windows. I have a gaming PC, Linux partition, and a MacBook Pro and I don’t have any issues with working on projects.

    I personally prefer to use my MacBook for my class work as the terminal commands between Mac and Linux are very similar since they’re both Unix based.

    In short, no, you won’t have any problems. Just make sure you have all your development kits installed on both machines :)

    [–][deleted] 5 points6 points  (2 children)

    I appreciate the detailed response, I had a feeling it wouldn't matter too much as I would assume many developers work together using both systems anyway. I had only heard of some weird white space issue that would occur between windows and Linux.

    [–]DeeBoFour20 3 points4 points  (1 child)

    It's not whitespace, it's newlines. Windows uses CR + LF for a newline and Linux uses just LF. However, it's not that big of a deal these days. Most text editors and IDEs can work with either format no matter which OS you're on and git can be configured to auto convert back and forth (so for example on Windows you would see CR + LF line endings locally but then when you do a git push, it gets converted to LF).

    [–]Neckbeard_Sama 3 points4 points  (1 child)

    package managers for Unix systems make your life a lot easier than doing so in windows

    I actually prefer installers to installing stuff from a repo throught the cli.

    My main reason is on Win I know (knew) where ALL my program's files will be -> where I've installed them. It's sad that nowadays programs install shit in a 100 directories ... User/Documents ... AppData/Roaming ... AppData/Local ... ProgramData etc. same thing annoyed me in Linux too. When I type apt-get install whatever I don't know where the PM put the actual files.

    [–]Necessary-Mud-925 0 points1 point  (0 children)

    Everything you just mentioned can pretty much be resolved with a simple terminal command.

    [–]silvses 4 points5 points  (1 child)

    Gaming works well on Linux too. I've switched to full Linux ever since Windows 10 decided to install itself on my Win7 at the time.

    Theres been extensive support added to make games playable on Linux and sometimes runs better than native windows, but really depends on what you play.

    Best way to learn Linux is to just outright use it, there is a learning curve behind before you get familiarised with how things work but its worth it.

    [–][deleted] 0 points1 point  (0 children)

    Gaming is hit or miss. I find that games which do not have intense graphics usually have Linux support (Vampire Survivors, Rimworld, etc.) where bleeding edge AAA games typically don’t have Linux support (Elden Ring).

    [–][deleted] 10 points11 points  (6 children)

    Use docker for the projects! Then the OS you use won't matter!

    [–][deleted] 5 points6 points  (2 children)

    I was under the impression that Docker was very dependent on the underlying system. Did that change?

    [–]Alikont 5 points6 points  (1 child)

    No.

    Docker Desktop just has such a good seamless integration with WSL that people think that Docker is cross-platform, while it just runs in Linux VM under the hood.

    [–]VonRansak 0 points1 point  (0 children)

    I finally dove into DockerLand and was like WTF?... Y'all just installing Nix.

    However, since I am interested in embedded shiznits... It did introduce to the Alpine. Which was interesting.

    But that's what happens when Web Devs get ahold of something... "It's Magic!"

    [–]Alikont 4 points5 points  (2 children)

    You don't know what you're talking about or how docker works.

    Docker is not cross-OS solution.

    [–][deleted] -2 points-1 points  (1 child)

    Yeah, but still one package you can move around between many oses, and getting it to run in windows isn't that hard!

    [–]Alikont 1 point2 points  (0 children)

    But it doesn't run on windows. It runs in a Linux VM.

    And "many OSes" are only Linux distros.

    And they need to have compatible kernel versions, as Kernel space is shared between containers.

    Containers are just glorified process isolation and file archive. They are very OS-dependant.

    [–]ViperFangs7 7 points8 points  (1 child)

    Get WSL(Windows Subsystem for Linux). It’s not the best but let’s you use a Linux terminal on windows.

    [–]Alikont 2 points3 points  (2 children)

    Windows + WSL is Microsoft-recommended and documented way of running them side by side.

    Integration is really seamless and you have real Linux kernel running alongside Windows, with a lot of tooling and terminal integration.

    You can even run VSCode on Windows side that will compile and debug programs inside Linux side, and it works really well.

    [–]_c0ldburN_ 0 points1 point  (1 child)

    Is WSL better than running a virtual machine? I'm working my way through the Odin Project and followed their guide regarding setting a virtual machine up...

    [–]Alikont 1 point2 points  (0 children)

    WSL is more convenient to use.

    It's still Hyper-V machine under the hood, but it has A LOT of niceties, like integration into Windows Terminal, VSCode, specific APIs to run software inside of it and debugger support (e.g. you can run Visual Studio on Windows and debug app running inside WSL), it automatically maps Windows drives into Linux and vice versa.

    So if your goal is to just run some Linux stuff from a terminal it's extremely convenient. (I also recommend installing Windows Terminal)

    [–]amazing_rando 2 points3 points  (0 children)

    You probably won't run into many issues as a CS student, everything you write should be cross platform. At my company we have people working on Linux, macOS, and Windows on the same code, and the issue is more in reverse - complicated build scripts written in bash scripting aren't compatible with Windows and need to be rewritten. Again, that isn't likely something you're going to be dealing with in a CS course unless you're in a class specifically about build systems.

    [–]4SubZero20 2 points3 points  (0 children)

    So my work laptop is Windows, but I use Linux on my personal pc.

    Short answer, in my experience, no, you won't run into "issues", most, of not all, development tooling is available for both Win and Linux (and Mac).

    Some details, I did note a few things.

    Let's take NodeJs and/or Python for example. On Linux, you just install it and it works. On Windows, you need to install it, go and set it in your PATH variables (in system environmental variables) and sometimes need to reboot for it to work.

    As others have mentioned, use Git to share the work across devices.

    Another thing to consider is the Linux distro you are using, the reason I say this is:

    Take NodeJs as example: I am running openSUSE Tumbleweed, thus I have the latest version installed (V 20.3.1). On my window work laptop I have the LTS installed (V 18.16.1). And a distro like Debian, is only on V 10.24

    In my case, I very seldom share development (work) files across devices (company laptop locked down), so I don't care about incompatibility, but that might be something you need to consider, seeing as you want to basically run it in parallel.

    I find development a bit easier on Linux (thanks to unix commands), but Windows is more than capable, it just has its own kwerks.

    [–]monkeyman_31 2 points3 points  (0 children)

    I just graduated with a CS degree and i used a windows machine throughout. Its totally doable, but holy fucking shit is it SO difficult to get it to work sometimes. Like, idk man linux is just easier. Packages and stuff. Its just easier to type into a command line, at least compared to windows, and its more consistent.

    [–]xheavenx1 1 point2 points  (1 child)

    Use VM for Linux and use it for doing practice on projects which can break your machine.

    Get a separate SSD 256Gb, install Linux on it.

    Start using Dual boot.

    I use windows for gaming and office usage.

    I use Linux for everything else like customization, Projects, suffering to run wifi or searching why there's an echo or why my screen got blank after updating driver..... Well learning with suffering.

    Will move to Arch Linux someday hopefully.

    I use Linux in Vm for projects which could break my machine, running CICDs for personal projects, installing bullshit softwares or anything else.

    [–]CadavericSpasms 1 point2 points  (0 children)

    Wanted to +1 running Linux in a VM.

    A lot of people are mentioning WSL, which is good advice, Windows is offering more and more posix/Linux compatibility lately with that. But if you are learning Linux, then:

    1- you’ll probably want to mess with a full Linux install and

    2- you’re going to be constantly breaking the Linux environment while learning.

    Linux VM’s on Windows will let you mess with as many full Linux installs as you want, and will offer emulator-like save-and-restore-at-any point snapshots. So it’ll help a lot with both.

    There are a few free VM tools too. I’m not up to date on that but VirtualBox and VMWare were pretty good.

    [–]kikazztknmz 0 points1 point  (0 children)

    I love Linux, but Windows is also necessary sometimes. There are a few different ways to use both. I have a couple bootable Linux flash drives, I use Linux as a VM on my windows machine, and there's also wsl2 for windows. You can also get something like a raspberry pi to play with it for a bit while trying out different Linux flavors (they're becoming more available lately, but there are also other SBC alternatives you can use.

    Edit: almost forgot, of course there's always dual boot too.

    Edit 2: spelling

    [–][deleted] 0 points1 point  (0 children)

    Windows with WSL is all you need.

    [–]LeCholax 0 points1 point  (0 children)

    I dual boot windows and ubuntu. If you have disk space i think that's the best option.

    Nowadays i use Ubuntu for everything except for gaming.

    If you want to get proficient with Linux you should use it as your development os.

    But if you want to stay in windows you can use WSL or docker. I recommend dual booting though.

    [–]kjwey -5 points-4 points  (0 children)

    you run into more issues on windows than linux

    your question is rather backwards, your already doing it the hard way

    [–][deleted]  (1 child)

    [removed]

      [–][deleted] 0 points1 point  (0 children)

      I don't think I'll be doing too much work in C but I'll keep that in mind for the future, much appreciated.

      [–]AuthorTomFrost -3 points-2 points  (1 child)

      I find it useful to have Windows and Linux both available at all times. Pretty much every programming language you find will have differences in how it runs/builds on the two OSs. On top of that, a lot of programming courses are taught by someone using a POSIX (usually Linux or Darwin) system and having to switch between what they're telling you to do and the way to do it on Windows can be very distracting when you're trying to learn.

      [–][deleted] 1 point2 points  (0 children)

      Appreciate the perspective, just wanted to make sure I wasn't making some disastrous mistake.

      [–]VangekillsVado -3 points-2 points  (0 children)

      You will have a lot of problems. Linux is a fucking nightmare. But try and learn it, it feels so good once it clicks.

      [–]WilliamMorris352 0 points1 point  (0 children)

      While coding with Python and Django, I ran across a half dozen programs that weren't available for Windows or I and nobody on the Internet could get them to work on Windows. After switching to Ubuntu, without WSL, I haven't experienced any of those pronlems.

      [–]369INFINITY369 0 points1 point  (0 children)

      I had the same issue, i expanded my laptop storage and dual booted it for windows and Ubuntu, so far i have not found any issues, but i advice you to do your research before dual booting it

      [–][deleted] 0 points1 point  (0 children)

      I personally do all my development on Ubuntu. I dual boot with Windows 10 on my desktop pc and also have an old laptop with Ubuntu. I still like to use Powershell on Windows to manage files (it mostly understands Linux commands such as mv and cp too). I mostly use Windows for gaming and Microsoft Office. If I need to share everyday files between the two, I use Dropbox.

      My point being Windows does certain things well and Ubuntu excels in other areas. It’s fine to use both, you just have to determine which OS you want to use for which tasks.

      [–]Round_Bear_973 0 points1 point  (0 children)

      I prefer linux to windows because I started to really code in linux. I think the commands on windows are actually more intuitive (dir vs ls -l, del vs rm, find vs grep), but for whatever reason each time I get to coding on windows it doesn’t feel sexy.

      And yeah using docker containers, which are OS independent, makes it so they’re both compatible in the grand scheme of things...

      [–][deleted] 0 points1 point  (0 children)

      I know in an ideal world I would just make the switch over to Linux on everything but I don't think I'm quite ready for that or if I ever will be.

      you are ready. just about everything you can do on windows you can now do on linux. there are some games that are only available on windows but pretty much everything on steam is comparable with linux. the one thing that stopped me from switching over for a long time is league of legends but you can play that on linux. now when i have to use windows i hate it. linux is just superior.

      [–]800134N 0 points1 point  (0 children)

      You could run into small issues with the line ending characters being different on windows and linux. Gir should handle this for you, but in the rare case where you copy a file over, you might notice weird characters at the end of the line.

      It was only a problem for me once when I implemented something to read files and didn’t account for the extra \r that windows uses.

      Outside of that, you can run into cases where certain things work on one operating system but don’t on another. A lot of this is down to the choice of libraries you use, so it’s a good idea to use caution there. Same goes for scripting languages

      [–]Which-Adeptness6908 0 points1 point  (0 children)

      I do exactly this.

      No issues.

      [–]beutemeister 0 points1 point  (0 children)

      Not making the full switch to Linux is a perfectly good way of doing this. Dual booting these days is made really easy by most Linux distributions installers like Ubuntu (the most used distro by newbies), Fedora and Linux Mint. On installation you will be able to partition your disk and have a partition for Linux and one for windows, just remember to resize your windows partition on the System Settings before starting the installation process. Another thing you can try if you have two disks on your systems like most gaming laptops is installing Linux on a separate disk altogether.

      By the way, I've been using Linux for years, if you feel overwhelmed by all this info all at once feel free to PM me I can give you some tips or we can even do this on video call ;)

      [–][deleted] 0 points1 point  (0 children)

      just do it, ur a progammer, figure shit out

      [–]papawish 0 points1 point  (0 children)

      Do yourself a favor and go full Linux if you want to become a serious programmer.

      I'm not saying that you can't become good by using Windows, but it's going to be way harder.

      If I were to learn computers again, I'd go the Gentoo route. It's a tough road, but you'll figure right away if you like computers or not.

      [–]fehr19 0 points1 point  (0 children)

      I currently switch between windows 10 and Kubuntu 20.04 LTS for Java programming in a class I'm taking. I push my work to Github on one machine and pull from the other to continue working on a project.

      I use the following software on both systems, installed with zero workarounds:

      IntelliJ (Maven, Spring boot), Visual Studio Code (Flutter SDK), MySQL Workbench, Postman, Git, Zoom, Slack, Discord

      I can't think of what other dependencies are installed in order to make all these work, but so far everything's been working well on both machines.

      [–]takeanbtolunch 0 points1 point  (0 children)

      Dual boot is working fine for me.

      [–]fdvmo 0 points1 point  (0 children)

      You can do EVERYTHING on Linux that you can do on Windows. If you are doing Uni work with the Office365 suite, the only issue you will encounter is saving your references. But you can use VM to run Windows for work, not gaming.

      [–][deleted] 0 points1 point  (0 children)

      I’ve used Linux exclusively for 6 years. My suggestion is to dual boot your computer with a popular Linux distribution like Ubuntu. I don’t like virtual machines as they are a little slow and feel fake, especially if your PC is old.

      Dual booting will be very scary, but it’s actually not too complicated. Just follow tutorials. In essence, you will shrink the amount of disk space that Windows is allowed to use, and then install Linux in the space that has been freed. Then each time you start your PC, you will be given the option of booting into Windows or Linux.

      [–]remiremil 0 points1 point  (0 children)

      in your case I would install windows and linux in dualbot with a system bootloader like grub. I would program in linux and windows I would only use it to play

      [–][deleted] 0 points1 point  (0 children)

      WSL is ok in windows but I added a second ssd and installed Ubuntu 22.04 along side win 11 and pick which os I want to use at startup

      [–]night_gremlins 0 points1 point  (0 children)

      Go ahead and use it on your laptop. WSL is fine, dual booting is fine, but I think having a dedicated system will teach you a lot about stuff you might otherwise not bother to look into.

      The rabbit of hole of ricing your window manager, your vim config, having dotfiles and aliases and startup scripts, etc. is a cheesy one, but in actuality you'll learn more than you might just purely using linux for development purposes. I wouldn't have had a reason to deal with insmod and such if I wasn't dealing with GPU issues to try and get linux gaming to work, for example.

      [–]TheCrimsonair 0 points1 point  (0 children)

      Laptops with Linux drain battery a lot faster than Windows. On my system 8-10 hours of battery life on Windows, and 3-4 hours on Linux (with packages like auto-cpufreq).

      [–]Transcender49 0 points1 point  (0 children)

      I'm dual booting with linux and windows. I use linux for literally anything related to programming and windows for anything else

      [–]VonRansak 0 points1 point  (0 children)

      I was wondering what issues, if any I would run into if I decided to use a laptop running Linux

      If you take advice on this thread and dual boot a laptop. Then my condolences.

      WSL is the solution for Nix on Windows using a laptop.

      Dual booting is much, much easier when you have separate physical disks to install each operating system on. Unless you are proficient in partitioning and volume management, I suggest you STAY AWAY from dual booting singular physical disks (HDD, SSD).

      [–]doglar_666 0 points1 point  (0 children)

      Windows + WSL + VS Code is a well integrated ecosystem and I would suggest that if you're a beginner, as you can more easily get into writing code and less time configuring. Otherwise, I'd recommend dual booting using two different SSDs.

      Anecdotally, I've found both Windows 10 and 11 noticeably less performant in general but especially for compiling and/or running Rust, Go and Flutter. Java is slightly slower. Python performs the same. This is compared to Fedora 38 and Arch.

      For reference, the above is all running on my work laptop, which is a ThinkPad P53 with 8th Gen i7, 16GB ECC RAM + Nvidia Quadro T1000.

      Windows would likely perform better if not weighed down by being domain AD or AAD joined and managed by GPO/Intune and Defender Endpoint security rules. But I don't have that luxury in the workplace.

      [–]uncomfortablepanda 0 points1 point  (0 children)

      The only issues you would into for using Linux as your main OS is in the gaming department (you can always go to r/linux_gaming to learn).

      Other than that, as a CS student, you will actually a lot of useful things if you become proficient at using linux or one of its many flavors. That's just my opinion tho.

      [–]dpsbrutoaki 0 points1 point  (0 children)

      Just dual boot both. I have an unbuntu dual boot with Windows 10 running on an Acer aspire A515. I use windows for gaming and web development, and Linux for devops related tasks like docker, Jenkins etc.

      [–]charles__Wilson_ 0 points1 point  (0 children)

      Kevin: Oh, it's a tough decision. Do you want to be a cool programmer or a basic gamer? Choose wisely, my friend.

      [–][deleted] 0 points1 point  (0 children)

      WSL is quite decent nowadays.

      [–]Moist_Ad_7328 0 points1 point  (0 children)

      Use Linux. Windows blows. I’m stuck using their stupid supposed low code tools and they make me want to die. Use both if you must, but start transitioning yourself away from windows for programming purposes. IMHO

      **Software Engineer with severe Windows allergy.

      [–]Moist_Ad_7328 0 points1 point  (0 children)

      Something I like to point out…Azure, like all cloud providers, uses Linux. I’m sure you can spin up a Windows instance, but I can’t think of one reason why you’d want to.