Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

The .idea folder contains more than a few settings and I have some specifics with how I set up my IDE and do not want anybody's grubby settings near mine.
Also: code should be written to be IDE independent fro reasons of build pipelines and platform independence.

Adbot
ADBOT LOVES YOU

sunaurus
Feb 13, 2012

Oh great, another bookah.

Keetron posted:

The .idea folder contains more than a few settings and I have some specifics with how I set up my IDE and do not want anybody's grubby settings near mine.
Also: code should be written to be IDE independent fro reasons of build pipelines and platform independence.

The personal stuff (workspace.xml, user dictionaries, some other things) are always .gitignored anyway. https://intellij-support.jetbrains.com/hc/en-us/articles/206544839-How-to-manage-projects-under-Version-Control-Systems

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

sunaurus posted:

The personal stuff (workspace.xml, user dictionaries, some other things) are always .gitignored anyway. https://intellij-support.jetbrains.com/hc/en-us/articles/206544839-How-to-manage-projects-under-Version-Control-Systems

well, my second point remains :colbert:

vonnegutt
Aug 7, 2006
Hobocamp.

sunaurus posted:

I don't agree - if multiple people in the team (the majority?) want to use a jetbrains IDE, then it makes perfect sense to check in the .idea folder. How would this even cause merge conflicts if you don't have a different local copy of the files? That would be a conflict-free merge.

In the specific team I wrote about, we had for example shared stuff like our code autoformat settings and a bunch of database connection settings. We never forced anyone to use intellij, but since everyone preferred jetbrains IDEs, it made sense to share the settings. The new guy wanted to use eclipse instead, and we definitely didn't tell him that he couldn't, but he ran into a bunch of problems with getting his editor to not reformat all of our code on all his commits and he also had some problems with getting live reload to work (everybody other than him used the jrebel plugin for intellij and nobody knew how to help him troubleshoot it on eclipse). Keep in mind, I only brought the IDE thing up to paint a better picture of how he wanted to do everything his way. I'm definitely not saying that people using different IDEs in one team is somehow inherently bad for team productivity.

You're right about the merge conflicts - I think it was just all the PRs that looked awful. I've never used Java so I was not familiar with how locked-in teams got with their IDEs so I was not prepared for the amount of pushback I got for not using their particular IDE (this was not a Java project but they were a Java shop).

lifg
Dec 4, 2000
<this tag left blank>
Muldoon
Java programming is tightly coupled to an IDE. I don't get it, but people who love Java swear it's the greatest thing.

BabyFur Denny
Mar 18, 2003

lifg posted:

Java programming is tightly coupled to an IDE. I don't get it, but people who love Java swear it's the greatest thing.

It's probably required to use a IDE but it's perfectly possible and easy to set up your project to work with all IDEs. Just use gradle or something similar for the whole build/dependency stuff.

Volguus
Mar 3, 2009

lifg posted:

Java programming is tightly coupled to an IDE. I don't get it, but people who love Java swear it's the greatest thing.

Huh? that's not even remotely true.

lifg
Dec 4, 2000
<this tag left blank>
Muldoon
I could be wrong, I'm not a Java dev. But all the Java devs I know rely on their IDEs for everything. I've never met one who programs in a large project with vi.

sunaurus
Feb 13, 2012

Oh great, another bookah.
It's not that you can't work on Java without an IDE, it's just that IDEs work so well, it's stupid not to leverage them.

For the past half a year, I've been working on a project without any Java, and I'm constantly being surprised at how bad IDE support can be in other languages. Just a few days ago, with Python, I was trying to refactor (rename) a method on a class named `get` (a completely brainless and foolproof operation with java code), and my editor found something like 2000 false positives for usages of this method. It was showing me all usages of any method named `get` on any class, not just the class I was refactoring. At that point, the 'rename' refactor is about as useful as a 'find and replace' (which of course is not very useful on a large codebase).
I'm also constantly running into similar issues with Javascript, and even with Typescript! You would think that refactoring would be easier with static types, but somehow, Typescript refactorings are not there yet. But I can totally see why Python or JS devs for example don't get IDEs - the IDEs just aren't as good with those languages as they are with Java-based languages.

Volguus
Mar 3, 2009

lifg posted:

I could be wrong, I'm not a Java dev. But all the Java devs I know rely on their IDEs for everything. I've never met one who programs in a large project with vi.

There are two concepts here that you seem to be confusing:

1. It is required to use an IDE to build, package, test and run a Java application
2. It is recommended to use an IDE to write the code for said application

The first point can be true if you have a really junior development team. By junior i mean you now start developing java programs and put what you know (which is what you wrote and which is absolutely wrong) into practice. Everyone else uses a build system that is IDE-independent and has done so way before maven was a thing (2003).

Point #2: You really should use an IDE to write code because it helps you immensely. Any IDE. You can, however, use vim if you're masochistic. you shouldn't, but you can.

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



sunaurus posted:

It's not that you can't work on Java without an IDE, it's just that IDEs work so well, it's stupid not to leverage them.

For the past half a year, I've been working on a project without any Java, and I'm constantly being surprised at how bad IDE support can be in other languages. Just a few days ago, with Python, I was trying to refactor (rename) a method on a class named `get` (a completely brainless and foolproof operation with java code), and my editor found something like 2000 false positives for usages of this method. It was showing me all usages of any method named `get` on any class, not just the class I was refactoring. At that point, the 'rename' refactor is about as useful as a 'find and replace' (which of course is not very useful on a large codebase).
I'm also constantly running into similar issues with Javascript, and even with Typescript! You would think that refactoring would be easier with static types, but somehow, Typescript refactorings are not there yet. But I can totally see why Python or JS devs for example don't get IDEs - the IDEs just aren't as good with those languages as they are with Java-based languages.

... and what's the deal with airline foodinterpreted languages?!

Arguably, TS should have been better, but a bunch of the tooling is probably just the JS tooling with some extra features and doesn't really ~get~ type guarantees.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

Munkeymon posted:

... and what's the deal with airline foodinterpreted languages?!

Arguably, TS should have been better, but a bunch of the tooling is probably just the JS tooling with some extra features and doesn't really ~get~ type guarantees.
What we did get from TS are library annotations and inspections for IDEs, and that's still pretty good

lifg
Dec 4, 2000
<this tag left blank>
Muldoon

Volguus posted:

There are two concepts here that you seem to be confusing:

1. It is required to use an IDE to build, package, test and run a Java application
2. It is recommended to use an IDE to write the code for said application

The first point can be true if you have a really junior development team. By junior i mean you now start developing java programs and put what you know (which is what you wrote and which is absolutely wrong) into practice. Everyone else uses a build system that is IDE-independent and has done so way before maven was a thing (2003).

Point #2: You really should use an IDE to write code because it helps you immensely. Any IDE. You can, however, use vim if you're masochistic. you shouldn't, but you can.

It's more then that. Java code slowly becomes optimized for the features of a good IDEs.

For example, IDEs will make suggestions when you want to use a method, and dynamically searches the class methods as you type. Java classes often have tons of methods, but their programmers apparently don't mind, because their IDEs make it easy to find the method name they want. Programmers in languages without great IDE support tend to build classes with fewer methods, and are faster to refactor groups of methods into sub classes, because smaller files are quicker to look through.

sunaurus
Feb 13, 2012

Oh great, another bookah.

lifg posted:

It's more then that. Java code slowly becomes optimized for the features of a good IDEs.

For example, IDEs will make suggestions when you want to use a method, and dynamically searches the class methods as you type. Java classes often have tons of methods, but their programmers apparently don't mind, because their IDEs make it easy to find the method name they want. Programmers in languages without great IDE support tend to build classes with fewer methods, and are faster to refactor groups of methods into sub classes, because smaller files are quicker to look through.

It's funny you say that, because I've also heard the exact opposite argument: "IDEs cause developers to create a bunch of small classes that are impossible to navigate without an IDE"


People who like huge classes will create huge classes, people who like small classes will write small classes. I have not noticed any correlation between IDE usage and class size preference.

Volguus
Mar 3, 2009
So if I have good IDEs and take advantage of them to make me more productive is bad vs having vim and writing code like it's 1699?

Or what exactly is the problem here? The entire class to fit in one screen no matter what regardless of requirements, design or anything else?

As I said, you're free to work however you want.

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!

vonnegutt posted:

If I know what IDE my coworkers are using, it's a problem.

I worked on one project where a couple of devs kept checking in IDE specific files into our git repo. Then, of course, when I would not have them it would cause merge conflicts. I tried to tell them how to use gitignore but then they found out I wasn't using their IDE and got all huffy about it. It was weird.

Check in versions of the files that mess with the colors and key bindings. I think blue text with papyrus font on a cyan background should be adopted by all users of that IDE whose files keep winding up in the repo.

Pie Colony
Dec 8, 2006
I AM SUCH A FUCKUP THAT I CAN'T EVEN POST IN AN E/N THREAD I STARTED

lifg posted:

I could be wrong, I'm not a Java dev. But all the Java devs I know rely on their IDEs for everything. I've never met one who programs in a large project with vi.

It's not that Java requires IDEs, it's that large projects require IDEs, and Java is good at large projects.


vonnegutt posted:

If I know what IDE my coworkers are using, it's a problem.

Nah, it's actually better to mandate everyone use the same IDE so you can optimize for its use, e.g. configuration of new modules, or plugins for your dev process.

Janitor Prime
Jan 22, 2004

PC LOAD LETTER

What da fuck does that mean

Fun Shoe

Pie Colony posted:

It's not that Java requires IDEs, it's that large projects require IDEs, and Java is good at large projects.


Nah, it's actually better to mandate everyone use the same IDE so you can optimize for its use, e.g. configuration of new modules, or plugins for your dev process.

Also standardize on plugins and configurations like checkstyles, formatting etc...

spiritual bypass
Feb 19, 2008

Grimey Drawer
Why is an IDE necessary for that? Stick it all into a script and run it in CI

Pie Colony
Dec 8, 2006
I AM SUCH A FUCKUP THAT I CAN'T EVEN POST IN AN E/N THREAD I STARTED
Developers generally don't want to sit and wait for 15 minutes so their PR can be failed for importing something in the wrong order

spiritual bypass
Feb 19, 2008

Grimey Drawer
How about putting it in the pre commit hook? Professional programmers should take responsibility for their tools, it's actually easier that way

Janitor Prime
Jan 22, 2004

PC LOAD LETTER

What da fuck does that mean

Fun Shoe

rt4 posted:

How about putting it in the pre commit hook? Professional programmers should take responsibility for their tools, it's actually easier that way

Having the IDE tell me about a convention I'm breaking is a lot more useful while I'm editing the file.

Phobeste
Apr 9, 2006

never, like, count out Touchdown Tom, man

Janitor Prime posted:

Having the IDE tell me about a convention I'm breaking is a lot more useful while I'm editing the file.

That doesn’t conflict though. The important thing to the organization is that no code that breaches the agreed upon style is committed. If you feel it’s useful to have your IDE remind you, set up your IDE to do so (and probably if other people in your org use the same IDE they’ll have findings they can share)

That said I don’t see the problem with having something cross platform like an editorconfig checked in

JawnV6
Jul 4, 2004

So hot ...
why does someone else adding a file, any file, cause you a merge conflict

Hughlander
May 11, 2005

JawnV6 posted:

why does someone else adding a file, any file, cause you a merge conflict

Can't tell what this is referencing, but if you have a project in Visual Studio, adding a file modifies the solution file, and I've in the past (past versions of VS) definitely had merge conflicts over multiple people adding a file.

kitten smoothie
Dec 29, 2001

Rocko Bonaparte posted:

1. Only IM'ing "hi" and then not saying anything else until you hi back or whatever.
As a person prone to anxiety I hate this with the fiery passion of a thousand suns.

When my boss does this I assume that it's "hi you're fired" when it's always more like "hi I approved your expense report."

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

Rocko Bonaparte posted:

Check in versions of the files that mess with the colors and key bindings. I think blue text with papyrus font on a cyan background should be adopted by all users of that IDE whose files keep winding up in the repo.

Slow down there, satan. We want get people to stop doing stupid things, not have them help you committing suicide by angry dev.

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



Vulture Culture posted:

What we did get from TS are library annotations and inspections for IDEs, and that's still pretty good

Oh yeah I'm not knocking what TS brings to the party, just wishing the tooling did more.

Macichne Leainig
Jul 26, 2012

by VG
drat. I heard back from my current manager and they aren't even able to counter offer. Too big of a pay raise on their end.

That definitely seals the deal then. Now I get the unfortunate task of breaking the news to my team.

Macichne Leainig fucked around with this message at 23:20 on Apr 18, 2019

Volguus
Mar 3, 2009

Protocol7 posted:

drat. I heard back from my current manager and they aren't even able to counter offer. Too big of a pay raise on their end.

That definitely seals the deal then. Now I get the unfortunate task of breaking the news to my team.

https://www.youtube.com/watch?v=vewkfFu8Q7I

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!

Keetron posted:

Slow down there, satan. We want get people to stop doing stupid things, not have them help you committing suicide by angry dev.

They can get mad all they want, but they won't be doing anything with those burning eyeballs they'll be dragging behind them on the floor.

smackfu
Jun 7, 2004

Agree strongly with the viewpoint, “I don’t care what you write your code in as long as it doesn’t affect me in any way.”

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Volguus posted:

There are two concepts here that you seem to be confusing:

1. It is required to use an IDE to build, package, test and run a Java application
2. It is recommended to use an IDE to write the code for said application

The first point can be true if you have a really junior development team. By junior i mean you now start developing java programs and put what you know (which is what you wrote and which is absolutely wrong) into practice. Everyone else uses a build system that is IDE-independent and has done so way before maven was a thing (2003).

Point #2: You really should use an IDE to write code because it helps you immensely. Any IDE. You can, however, use vim if you're masochistic. you shouldn't, but you can.

It’s not about masochism, it’s about commonality of tooling and support for advanced features. All of the ‘vim mode’ plugins screw up at least one fundamental feature, leaving me to regularly need to open files in vim to get something done.

Also, it’s not like vim doesn’t have exactly the same set of language tooling ides have. It can literally use a headless eclipse session for completion, refactoring, and other language tooling in java. For c#, it can use the same completion and refactoring engine as vs code. Etc etc.

Using raw vi with no plugins is dumb, but basically no one does that. (Learning vim is also probably a bad use of time; separately.)

sunaurus
Feb 13, 2012

Oh great, another bookah.
My issue with setting up vim with enough plugins to turn it into an IDE is pretty much the same as my issue with most "Need an important feature? Just use a plugin!" type software:

1) Plugins end up conflicting with each other
2) It can become really hard to keep track of all the configuration for all your plugins
3) There is no central documentation for how stuff works
4) Overall UX ends up being bad

I often see these same problems with stuff like Jenkins and even VS code.

I don't think plugins are bad, but something that's designed from the ground up to be an IDE (like intellij for example) will probably be much easier to actually use as an IDE than something that's designed to be a text-editor and then hacked into an IDE with plugins.

This is just why I personally prefer an actual IDE, I still wouldn't tell anyone in my team to not use vim as an IDE if they like it.

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

sunaurus posted:

I often see these same problems with [...] VS code.

I don't think plugins are bad, but something that's designed from the ground up to be an IDE (like intellij for example) will probably be much easier to actually use as an IDE than something that's designed to be a text-editor and then hacked into an IDE with plugins.

Are you saying that VS Code is just designed to be a text editor? Or that you shouldn’t use plugins for IDEs? I’m a bit lost.

sunaurus
Feb 13, 2012

Oh great, another bookah.

Subjunctive posted:

Are you saying that VS Code is just designed to be a text editor? Or that you shouldn’t use plugins for IDEs? I’m a bit lost.

Neither? I'm just saying that in general, using some basic backbone-software and bolting on a ton of functionality with plugins will result in worse UX than using purpose-built tools.

Volguus
Mar 3, 2009

leper khan posted:

It’s not about masochism, it’s about commonality of tooling and support for advanced features. All of the ‘vim mode’ plugins screw up at least one fundamental feature, leaving me to regularly need to open files in vim to get something done.

Also, it’s not like vim doesn’t have exactly the same set of language tooling ides have. It can literally use a headless eclipse session for completion, refactoring, and other language tooling in java. For c#, it can use the same completion and refactoring engine as vs code. Etc etc.

Using raw vi with no plugins is dumb, but basically no one does that. (Learning vim is also probably a bad use of time; separately.)

smackfu posted:

Agree strongly with the viewpoint, “I don’t care what you write your code in as long as it doesn’t affect me in any way.”

If you, however, come to the standup meeting saying that the 5 minute feature is not completed after 5 days because vim plugins are giving you a hard time, then we're gonna have some talking to do. I understand preferring a text editor/IDE over another. I do not understand getting purposefully gimped by said text editor and refusing to change.

qsvui
Aug 23, 2003
some crazy thing
Is this just some dumb straw man you made up? A 5 minute feature in raw vim is easily possible.

Volguus
Mar 3, 2009

qsvui posted:

Is this just some dumb straw man you made up? A 5 minute feature in raw vim is easily possible.

quote:

A straw man is a form of argument and an informal fallacy based on giving the impression of refuting an opponent's argument, while actually refuting an argument that was not presented by that opponent.
Surely what you meant was: hyperbole. And yes, what I have said is a hyperbole.

quote:

Hyperbole is the use of exaggeration as a rhetorical device or figure of speech

Adbot
ADBOT LOVES YOU

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

To be fair, I thought the 5 days were spend fiddling around with the plugins, instead of working on the feature. Knowing most vim users, this did sound like something overheared in a standup.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply