You will find yourself being that next person when you haven’t touched the code for a week and come back to add something and are like wtf.
You will find yourself being that next person when you haven’t touched the code for a week and come back to add something and are like wtf.
React is miles ahead of a bunch of much older frameworks businesses still use. I have projects being built new right now that use ui5 from sap. We have projects with spring boot with the templates in jsp.
I would much prefer a react project to ui5 or jsp. And businesses with long running projects tend not to like using frameworks that don’t have at least ten years of usage and thus some proven surviveability unfortunately.
I have the complete opposite feeling. The more I have to use windows the more irritated I am at it. It’s bloody irritating.
It has window snapping; sure that’s nice, but the default window snapping isn’t that useful for a power user and gets in the way of better window snapping from power toys. On the Mac I also have a third party (better touch tools) app to get custom snap zones that is better than even power toys fancy zones.
But the basic window snapping ends up irritating me more often than it’s useful. I’ll have a window that is on the left side and not half screen. I use window left, and instead of snapping to half it “helpfully” switches monitors.
Also I use multiple desktops. Windows couples all monitor desktops together. I can’t switch just one desktop. On a Mac I can swipe between individual desktops on each screen. This is way more useful to me.
Windows also has a better clipboard manager. But it’s to basic to be useful for me. Only saves 10 things. I install a manager that saves 1000s.
Windows power shell is awful. And worse is googling for how to do anything with a “command line” on Windows because you have to not only figure out what command line they mean but also what damn version.
I’ve had very little trouble switching between Linux and Mac with home brew installed.
Also Windows has a wierd file system. If I use the keyboard command to make a link to a folder it makes a bloody shortcut which a lot of programs ignore.
So instead I get to google what the windows equivalent is of a hard link and how to make one. It’s a junction link and you use the command line. Yay. The command line isnt nearly as helpful. It’s very different from Linux. So very little transfers.
And it doesn’t have history between sessions. “Power” doesn’t have history between sessions.
Mac at least has the decency to use a decent shell in zsh. Zsh is fantastic.
Also on the file system. When you get a select file for upload dialog, if you drag a file you already found in a file window to the dialog, it MOVES the file! Why! No instead you should apparently find the file again in the dialog or copy and paste the path which is way more steps.
On Mac I just drag a file to the select dialog and it auto switches to the location and selects the file. The thing I wanted to do.
If you want to learn vim, try the command vimtutor in a terminal
But that is a typing weakness of that language. I just prefer using languages where the compiler actually does know what the types are at all time and thus can inform me instead of me trying to make sure that types align correctly.
That is tedious work that has been proven to be a terrible idea to shift onto humans. Strong type systems make much more robust code.
Abap only has one collection type, and its tables. Contextually it’s not hard to read what a collection of things are and what a single thing is.
If I am looping through comments and do something with comment, it’s contextually clear what ma going on. The exact type can be easily checked for when it’s actually needed.
Naming a count of something the plural seems like a much less intuitive thing. Especially sense generally the count is gotten from the collection.
This isn’t even like the worst of it. It’s an old enough language they still thought the compiler shouldn’t have to do more work.
So you have to declare all variables, types, and methods in the top section of the class, and the method implementation in its own section. That means while working on a method, the method signature is a long way away. And because abap developers are allergic to splitting up code into reasonable classes, that can be a couple thousand lines away.
Oh and all classes are in the global namespace. So all the classes you make must start with the letter z because SAP reserves any and all names that don’t start with z.
Oh and they didn’t feel like making library code to do a lot of basic stuff, oh no, they thought that 3000+ keywords was a much better system. Especially sense hovering over a keyword gives no documentation and discoverable is therefore pretty terrible.
Also they wanted everything to be sentenced like so keyword structures are often many special words in specific orders and hopefully you can write enough of it to get a prompt to fill in the rest.
Character limits and a stupid badly used Hungarian notation to waste limited characters to tell use what the ide already knows.
If you have a table, (that’s an array for sane programmers) name the variable as a plural and we will know it’s a table.
Don’t name two variables the same stupid abbreviation with different Hungarian notation characters stuck to the front
Await is usually there either because the performance doesn’t matter and the legibility is much higher with it, and/or because there are a series of asynchronous actions that depend on each other and await lets you write them as if they are sync because related to each other they are.