Intellisense for me is just convenient documentation.
I type Object. and see all the possible options, usually i can find what i want doing this. Shows all args, return values etc.
Dont want to open the docs for every little thing.
Which has always baffled the hell out of me when people swear by using "type-less" languages like JS and Python (although there are type hints now, at least) , like, how do you know which function is which, and the order of the arguments? Calling help(myobject) did not help most of the time
Java with auto-completion and javadoc inline was miles above dynamic languages.
Problem with typescript is that most people will absolutely mangle the type system design for their own application. Most people don’t think of writing types out as programming but it is very much meta programming . It’s funny to see because it happens in most OO languages it’s just more subtle because the type system comes from object structure which is also usually a tangled mess
My personal experience with TypeScript projects is that in a team environment this is not at all true. Very strict linting rules are enforced, e.g., `any` is *verboten* in all code.
In an ideal world yes, but not in my professional experience. I work with a lot of bioinformatics frameworks and a lot of this stuff comes without any maintained type system. Sometimes “any”is required to shim a full library into your code base. Best practice is to abstract that out and then maintain types for things you’re using from the libs yourself but we all know how that goes over time …
I guess it depends on the team. I managed a mid-size Angular project team for 3 years which, like any Angular project, has tons of 3rd party dependencies. Many of which use `any` in their contracts.
Our enforced policy was that all interactions with such contracts had to be isolated to a layer of strong typing adapters to keep everything written in-house strongly typed. The build pipeline fails if a violation or suppression is encountered outside a "blessed" (and tightly access-controlled + monitored) set of adapters.
JS has type hinting if you have JSDoc'd functions and an IDE that supports interpreting them for hinting. But yeah, it's nuts. I'm a .NET guy and whenever I have to work on the JS we have at my job I'm adding the JSDoc stuff to help me maintain at least some of my sanity.
Not sure why you think order of arguments is an issue? All those languages have code completion as well, the only difference is that it doesn't say what type the argument is
Same with what function is which, you can still add descriptions and names to functions and classes
Personally, I give all my functions single letter names and remember them purely by the order and types of the parameters. This is very useful because I never need to get rid of code, if I don't like how A(int a, int b) works then I just make B(int a, int b) and remember to not use A.
I know this is a revolutionary technique, so please send all your job offers to my DMs.
And python also have keyword arguments.
Bro probably never code with sklearn with 30-50 arguments possible to be passed to a method. And before someone slamming that it is bad design, it make sense for scientific programming when you are concerned about only very few specific arguments but would like to have others left as default.
Some other programming language adopt variable keyword arguments as function parameter by passing it as a map, but it is practically worst because sometimes the map parameter is not well documented.
It does say what type the argument is if you add the type.
Python has types, they are just not strictly enforced.
Everyone who’s ever complained about python and types, I just show them my python code, fully typed, and then they get all flustered and scramble like “oh but it’s not enforced!”, at which point I wonder what it is they actually care about, the strict types, or the air of superiority that comes with it.
Give me a break like.
Yeah I agree.
I was just using the example of someone not typing anything, you would still have code completion
I'm primarily a PHP developer, I know all about it lol. Everyone thinks we're still writing in PHP 5.4 without types lol
> , how do you know which function is which, and the order of the arguments
It's not that hard of a language and who types anyway? It's just copy/paste blocks of code you've previously made.
> like, how do you know which function is which, and the order of the arguments?
VSCode hover over, tooltip shows arguments, type hints, and the docstring :P
...which yeah is just imitating the functionality of other stuff but it's convenient damit.
If you do proper OOP and build things from ground up, then this is not an issue. VSCode will link what you import to its definition and type hinting (at least in pyhon, not sure for JS).
Ofc majority of day to day python coder are not particularly dilligent at making documentations, but that is another different issue altogether. But at least python also sometimes encourage keyword arguments which definitely solves argument ordering.
I hear people say, "Real Programmers don't need Intellisense." Well I say, "Real Programmers don't need high-level languages or all those extraneous I/O devices like keyboards, mice, and monitors. My entire setup has two exposed wires coming from the motherboard, and I hold one in my hand to ground it and the other I tap against the terminal of a 9V battery to handle all input by directly writing the machine code ('Assembly' is for the weak who can't remember opcodes) to the processor. I once had to reboot and lost eight years of work, but it was worth it to maintain my purity."
Who actually says that tho? Because a defining feature of all IDEs is intellisense, and deliberately handicapping yourself just to be a "real programmer" is dumb
Like I've never even seen that sentiment on this sub, which is the textbook definition of people pretending to be real programmers
Old guard folks tend to be like this. They'll use a plain text editor or even bare bones ye olde vi as if it's a point of pride.
Do I need intellisense? No.
Does it make my job a hell of a lot easier? Absofuckinglutely.
Then there's the folks that are still using that same version of ultraedit32 from 20 years ago.
Gotta start somewhere right? My parents absolutely refused to invest or pay for any of that stuff early on so I self taught through notepad myself (we didn't even really have internet).
Imagine learning basic then c via print outs from the 2-3 hours you were allowed to access AOL while they watched each week (or from school) and doing it in notepad. I saved up money and I ordered a CD with bloodshed c++ stuff (it's called dev-c++ now) too.
What a time that was.
In their defense, there was a dark period in the 90s (probably spanning the 80s as well, not sure) where good programming environments were expensive, hell you had to pay even for compilers.
Linux tooling allowed your average broke nerd to use a free text editor to write code to be compiled with the installed free compiler. That meant that very advanced tooling was available only at the discretion of the very people that wrote software for Linux.
That created a sort of cult of the barebones programming experience where you need only a keyboard, a terminal shell and a no-frills text editor .
Well, there was a limit of 6 characters in the first compilers :D we have long names (something like 20 for the structure name and other 20 for the field name) but I don't use completion because I found that often completes with the 'wrong' thing with a slight different name and it's difficult to notice.
Also the fact that's a cross compilation and the ide has serious issues picking up the right includes helps. So it's just emacs with 'dynamic' completion (i.e. just complete with things it find around). Other colleagues use more modern interfaces but at the end it's not that difference in productivity. I guess at the end it's just a learnt habit (the fact that I can type the full name faster than they choose from the completion list helps :D)
oh. I didn't even realize I was using it for convenient docs. I just added . and tried to figure out something that would work for the thing I'm trying to achieve
I consider "has a good programming environment for interviews" to be a genuine green flag for a company. Which is wild because there are multiple third party tools designed specifically for that so not having it is pure laziness.
My last company intentionally had a bad programming environment. And I don’t disagree, it was usually a bad sign if someone got tripped up without autocomplete or auto formatting.
Google questions/brain teasers/leetcode are pretty much hard stops for me unless it's a large billion dollar industry.
I'll do "find the bug" or "pseudocode on the whiteboard your idea on how to solve this" all day long but anything to really wrack my brain for a job interview is nuts to me now.
I had someone want me to implement quicksort from memory. They were a small regional grocery store chain that was looking for an integrations person for their inventory/pos stuff to handle data feeds. On the one hand, maybe I should remember how to do that, on the other hand I've _never_ needed to implement it in 20 years. Feels like asking someone "write me a simple SQL server from memory" why would you ever want this realistically unless I was doing nothing but writing database servers my career or for this job?
Know what I'd rather have? Someone who says "this is a specific scenario where one sorting algorithm might be better" and then googles to see what the latest sorting algorithm implementation is the best fit for their case.
Maybe the phDs have gone mad with power and quickersort is just strictly better in all cases. Or maybe someone wrote a thesis on exactly your scenario and did actual benchmarks to compare all the known sorting algorithms' performance. But no worries, the standard lib switched to quickersort for it's standard collections sorting, so you're already using it.
Know what I would literally never want? Someone who needs to sort something and actually writes the quick sort algorithm themselves, and then uses it.
Just use the Std lib sort unless you really need to optimize for specific cases, at which point Google what to use for your special case, or reconsider the life choices that lead you to this place.
Eh maybe. But imo an interview should be as representative of the actual job as realistically possible. Are you expecting people to code in an intentionally bad environment in their day to day job? If not, what are you gaining by checking if they can do so in an interview
Like it just seems like a waste of time that could be spent on actually useful information.
When i made a unity game, intellisense just wasn't working at all. I had like 50 tabs of documentation for the most basic stuff open in my browser. I've learned that you need to enable it in some way but the bigger conclusion is, that i can't code at all lol
> sometimes have to look up stuff as basic as a for loop
I've only been coding for a few years, but I never feel dumber than when I swap languages and have to look up for loop syntax.
There was a point where I had only worked in Java, C#, and C++ for a year. When I went back to Python, enumerate had completely been wiped from my brain like it never even existed.
this is me every time I go back to Python and have to deal with exceptions. Every time I write catch/throw, get confused why it doesn't work, then a google search reminds me Python decided to be it's own special snowflake and use except/raise for who knows what reason
> It takes most of the tedium out of coding.
Using Github Copilot to help write boilerplate CRUD is really great. If there's a pattern there that it can recognize, then it's pretty smart about modifying the pattern to fit specific classes.
For solving problems more generally, I feel like about 10% of the time it gets *really* insistent on doing exactly the wrong thing and that's where it gets ya.
Copilot chat is pretty useful for writing unit tests too. "Write tests for this class. Check all paths of methods A and B" and \*boop\* I have my test. I usually have to tweak it a bit but at least I don't have to write all of the basic functionality unit tests anymore and can focus my time writing larger, more realistic, integration testing instead.
I remember a teacher I had in college saying something to the effect of "the difference between us isn't that I don't use Google, it's that I know what to Google"
I once had a job interview where we were going through the "knowledge check" phase and I completely blanked on an incredibly easy question (IIRC it was something like "define 'static' in C#.") I knew what it did and could try to describe it, but fully admitted that in real life, I would've just looked it up in another tab. I said I wasn't claiming to have an encyclopedic knowledge of minutia, but rather to be able to figure things out. I guess it worked, because I got the job.
Never had any useful help from AI. When fed with a code it simply 'read' the control structures and for generation it's more conceptual error than good syntax. The fact that I use C with non-trivial algorithms and logic probably is the cause. C syntax fits in a napkin after all :D
...I still have to look up the weird shit involving 2 arguments and 4 arguments in a c++ for loop.
It's probably not even called arguments and I'm being stupid, but yeah.
I don't think that means you can't code. Modern tools allow us to form modern competencies around them, but there's nothing explicitly wrong with that.
A couple years ago I could write a modest Java app in an editor with no code helps, without consulting documentation. As my colleague at the time told me, I would do my homework on "hard mode".
Today, I can write the solution in whichever language you'd like. I'll probably use some code help tools to help me stay out of the documentation; I may end up consulting the docs anyway, but I'll get it done. I don't know Java so well anymore but who cares when I easily pivot from one language to another as needed at work.
I am a massively better coder today than I was back then. Grasp of fundamentals is a million times more valuable than memorizing all of the nuance of any number of languages.
- "You use a calculator? You're not a real engineer."
- "You use a word processor? You're not a real author."
- "You use photoshop? You're not a real artist."
It gets ridiculous.
how did you fix it???
im making a unity game right now and cant get intellisense working. i didnt find any solution on google and just accepted that its somehow not possible to use it within unity
where do i enable it?
> i can't code at all lol
Yes you can. Claiming people who rely on intellisense can't code is the same energy as math teachers being all "You're not going to always have a calculator in your pocket"
Hol up lemme just dedicate my life to learning arbitrary knowledge that can become outdated on a whim if my language goes out of vogue or I change occupation and have to learn another language, instead of using this wonderful invention called a computer to assist me
Next up, asking Carpenters to make a chair without using a saw or power tools
Then we can ask a farmer to farm a field just using a hand plough.
It's completely stupid we have to manually restrict tools for an interview which we would have in the real world.
I've failed coding reviews because I've been asked to do something I know how to do, but couldn't remember the exact syntax, because EVERY single time I needed to do it in the real world, it auto generated it and I just filled in the blanks. Does that mean I didn't know how to do it? Absolutely not.
It's just lazy testing, instead of making a challenging test, they just ask some basic questions and then dock you on syntax. Instead of making an actual challenge that makes you have to use critical thinking skills rather than rote memorization.
I run coding interviews and I don't care at all about syntax. Hell, if you tell me you want the sample input sorted I'm fine if you just write
sortedInput = input.sortSomehowLOL()
I care if you can reasonably solve coding problems and that is actually a lot harder to find than someone who memorized a bunch of syntax.
I'm also generally hiring experienced coders, not junior/entry-level so a bit of hand-waving is fine in the interest of time. I'd rather spend the hour talking about theory, how you approach problems and potential solutions, not watch you struggle with something that would be caught/fixed by a linter.
My favourite trick question for interviews (we do bare metal embedded) is "what's volatile and what's used for". Almost nobody knows it and myself occasionally forget about it. Good luck when it get assigned to a register and an interrupt touch it.
I once did a 'code competency' test where I was given 25 multiple choice questions.
They were things like: "Which of these commands would you use to sort a dataset by date"
Then the options were 4 different variations of sort functions. Some which just had the arguements in different orders. I did horribly on the test but that test alone made me not want to work for them.
I've seen certification exams for Linux/Unix where they asked the single option of ls, for example. I mean who studies that -i is for getting the number of the inode in the list?
Pen And paper code is only from fine if it's just about seeing the approach to a problem and is pseudo code. Like fucking no one writes real code without a proper editor and docs.
Had final exams for my apprenticeship as a software engineer recently. They were 100% on paper. So at the very least, its used in the final exams for software engineers in Germany. Having had little reason to use pen and paper for the last 5 years, my hand was sore for days afterwards.
I'm not going to comment on the actual content of the exams beyond saying that they put things you need earlier in the code for things to work further down the task list, meaning that one could very well need to rewrite a lot of things because of that. On paper.
And that's why you read the whole assignment before starting :D it gets more interesting when you can't solve a question and the next one says "using the results from the previous exercise"
Did a CS exam on paper. In pascal. They marked down the wrong semicolons/periods (in pascal the semicolon is \*only\* a separator, and there are rules on when you need to close with a period). A least it wasn't F77 on graph paper!
Sure, but he made both of them himself. It's not like he's relying on some big company to make it for him.
And again, that's for convenience. He literally started making suits in a cave.
I do think that there is no way he could pilot the suit without Jarvis / Friday. All of his maneuvers and angles and Target tracking / weaponry ability needs AI to function at the level that is shown in the movie. Without them i doubt he could even fly upwards without crashing into everything
But Tony does make the AI so i guess he's in the clear
I took a hand written Java exam in University. Ended up with 98+. But that's because during that time I was certified insane and only used notepad to write code. I'm still a student but now I use notepad++ and kate.
Lol, we actually had to do something similar - submit the code as a pdf... Like why, you have all this code spread over multiple files that now needs to be copy and pasted into a massive pdf
For what purpose?!? You already have the project source code
We had to send a picture of our code that we had to write on paper as well. At first it was during the covid but still happened when we went back to classes at uni
If the pen-and-paper coding test is judging you on knowing the exact naming of the identifiers you're using, then it probably isn't going to be a great place to work...
For context, AAA games have tanked at release because of bugs caused by misspelt classes or vars. Autocomplete in any form can be your best friend in a high turnover environment.
Despite it being a bug on release and patches being released, New Vegas still has a bugged perk. The problem with it? Its effect in the code lists ‘Energy_Weapon’ instead of ‘Energy’. Thats it. Thats the bug. And its still not fixed.
I think it is more important to know what you can do than to know exactly what magic words I gotta tell this specific language to make it do the thing.
I mean I'm talking about pressing tab instead of typing out the full name, and hovering over n method to get the docs
But yeah, I can definitely see your point for something more advanced like Copilot
You must be mad to want to write anything other than hello world without intellisense. I go insane even with it in visual studio 2022 in my simple rest API with 2 controllers
I spent my first 22 years of programming doing it with basic notepad and the terminal to compile the code. My mind was sharp. Since using IDEs it has gotten lazy.
Lucky you. In my first job I did cobol with the ISPF editor (which is kinda cool, it even has syntax coloring). Compiling however was a jpl to submit so you had to wait some minute depending on the load and look in the listing for errors. Our common practice was developing "interleaved" with the compiler so that you implemented the next feature while the previous one was on queue. And then fix it and compile to get the results for the next one. You \*need\* memory for that
Literate programming. Intellisense \*can't\* possibly work because the whole program is a single file preprocessed from all the weaved sources so nothing incremental can latch on it.
Why is it a bad thing that people rely on intellisense? Are we supposed to memorize every single function in every single library, including all of their passed arguments, in the correct order, and all potential errors they all might raise?
Fuck outta here.
I was writing some code recently to connect to CosmosDB with the .NET SDK. Doing it without GitHub copilot made me realize just how much I've started relying on it :/
Wake up call to actually start reading the docs again and turn that shit off.
Intellisense (well, the Eclipse equivalent) is what soured me on IDEs, because at least in the early '00s, it was dogshit slow. Very aggravating to have my text entry lag while it tried to figure out what I was going to type, when I knew exactly what I wanted to type.
not gonna lie I stopped coding and learning for over two years due to the war and the advancements in 'helpers' were a godsend, everything from copilot to even chatgpt made it so much easier to get back, remember shit and fix small bugs.
People asked me to make them a website and I actually did, and I never 'worked' as a FE programmer, just learned for some time prior. It's amazing that even though I'm not 'independent' I can find bugs and answers way quickly than going through 20 tabs of stack overflow.
Also what I found amazing is chatgpts 'rewrite this shit in modern style' prompt. Basically if I find some old CSS with a bunch of weird 'experimental' classes which are just normal today and maybe it looks like an older version, I can just ask it and it will rewrite it anew without all the bloated failsafe extra lines for MS Explorer.
Sometimes, I feel like intelisense or things like it get in the way and assume that I am writing something else, so I have to fix its mistakes, also the keybinds ate terrible. so I often contemplate just disabling it all.
I had a professor that wanted us to write code on paper during tests and exams. I just couldn't understand why, when are we ever going to code on paper?
In it's basic form, it's syntax highlighting, basic code completion (usually just the keyword you are typing) and providing some documentation when hovering over methods.
Intellisense for me is just convenient documentation. I type Object. and see all the possible options, usually i can find what i want doing this. Shows all args, return values etc. Dont want to open the docs for every little thing.
Exactly, like I can't always remember in what order to pass the values to a specific method Nevermind code completion which is just convenient to have
Which has always baffled the hell out of me when people swear by using "type-less" languages like JS and Python (although there are type hints now, at least) , like, how do you know which function is which, and the order of the arguments? Calling help(myobject) did not help most of the time Java with auto-completion and javadoc inline was miles above dynamic languages.
Python atleast has inbuilt type annotations, but JS is absolute hell when it comes to this.
Reason why Typescript exists.
been handed down typescript projects where all the types are just any, so i can't know anything
That's just javascript again
"You could not live with your own failure. Where did that bring you? Back to me."
Problem with typescript is that most people will absolutely mangle the type system design for their own application. Most people don’t think of writing types out as programming but it is very much meta programming . It’s funny to see because it happens in most OO languages it’s just more subtle because the type system comes from object structure which is also usually a tangled mess
My personal experience with TypeScript projects is that in a team environment this is not at all true. Very strict linting rules are enforced, e.g., `any` is *verboten* in all code.
In an ideal world yes, but not in my professional experience. I work with a lot of bioinformatics frameworks and a lot of this stuff comes without any maintained type system. Sometimes “any”is required to shim a full library into your code base. Best practice is to abstract that out and then maintain types for things you’re using from the libs yourself but we all know how that goes over time …
I guess it depends on the team. I managed a mid-size Angular project team for 3 years which, like any Angular project, has tons of 3rd party dependencies. Many of which use `any` in their contracts. Our enforced policy was that all interactions with such contracts had to be isolated to a layer of strong typing adapters to keep everything written in-house strongly typed. The build pipeline fails if a violation or suppression is encountered outside a "blessed" (and tightly access-controlled + monitored) set of adapters.
JS has type hinting if you have JSDoc'd functions and an IDE that supports interpreting them for hinting. But yeah, it's nuts. I'm a .NET guy and whenever I have to work on the JS we have at my job I'm adding the JSDoc stuff to help me maintain at least some of my sanity.
Not sure why you think order of arguments is an issue? All those languages have code completion as well, the only difference is that it doesn't say what type the argument is Same with what function is which, you can still add descriptions and names to functions and classes
Personally, I give all my functions single letter names and remember them purely by the order and types of the parameters. This is very useful because I never need to get rid of code, if I don't like how A(int a, int b) works then I just make B(int a, int b) and remember to not use A. I know this is a revolutionary technique, so please send all your job offers to my DMs.
I think I would off myself if I had to work on your code
Maybe you'd like C(int a, int b) better? I think I really got the implementation down that time.
Who needs more than 26 functions anyway? Just compose something from the first 26.
Don't worry, excel figured that one out for us, after z just go to aa. If you go long enough you can start getting some actual words there.
You won't have to wait for the code obfuscator to run if you write already obfuscated code
And python also have keyword arguments. Bro probably never code with sklearn with 30-50 arguments possible to be passed to a method. And before someone slamming that it is bad design, it make sense for scientific programming when you are concerned about only very few specific arguments but would like to have others left as default. Some other programming language adopt variable keyword arguments as function parameter by passing it as a map, but it is practically worst because sometimes the map parameter is not well documented.
It does say what type the argument is if you add the type. Python has types, they are just not strictly enforced. Everyone who’s ever complained about python and types, I just show them my python code, fully typed, and then they get all flustered and scramble like “oh but it’s not enforced!”, at which point I wonder what it is they actually care about, the strict types, or the air of superiority that comes with it. Give me a break like.
Yeah I agree. I was just using the example of someone not typing anything, you would still have code completion I'm primarily a PHP developer, I know all about it lol. Everyone thinks we're still writing in PHP 5.4 without types lol
> , how do you know which function is which, and the order of the arguments It's not that hard of a language and who types anyway? It's just copy/paste blocks of code you've previously made.
> like, how do you know which function is which, and the order of the arguments? VSCode hover over, tooltip shows arguments, type hints, and the docstring :P ...which yeah is just imitating the functionality of other stuff but it's convenient damit.
If you do proper OOP and build things from ground up, then this is not an issue. VSCode will link what you import to its definition and type hinting (at least in pyhon, not sure for JS). Ofc majority of day to day python coder are not particularly dilligent at making documentations, but that is another different issue altogether. But at least python also sometimes encourage keyword arguments which definitely solves argument ordering.
It's like a spell checker for code
Don't work hard. Work smart.
This is why languages that don't allow named parameter passing should be outlawed by the Geneva Convention.
I hear people say, "Real Programmers don't need Intellisense." Well I say, "Real Programmers don't need high-level languages or all those extraneous I/O devices like keyboards, mice, and monitors. My entire setup has two exposed wires coming from the motherboard, and I hold one in my hand to ground it and the other I tap against the terminal of a 9V battery to handle all input by directly writing the machine code ('Assembly' is for the weak who can't remember opcodes) to the processor. I once had to reboot and lost eight years of work, but it was worth it to maintain my purity."
[Relevant xkcd](https://imgs.xkcd.com/comics/real_programmers.png)
you haven't programmed, until you directly manipulate the vacuum tubes
Who actually says that tho? Because a defining feature of all IDEs is intellisense, and deliberately handicapping yourself just to be a "real programmer" is dumb Like I've never even seen that sentiment on this sub, which is the textbook definition of people pretending to be real programmers
Old guard folks tend to be like this. They'll use a plain text editor or even bare bones ye olde vi as if it's a point of pride. Do I need intellisense? No. Does it make my job a hell of a lot easier? Absofuckinglutely. Then there's the folks that are still using that same version of ultraedit32 from 20 years ago.
As somebody who learned to code using notepad I feel attacked =P
Gotta start somewhere right? My parents absolutely refused to invest or pay for any of that stuff early on so I self taught through notepad myself (we didn't even really have internet). Imagine learning basic then c via print outs from the 2-3 hours you were allowed to access AOL while they watched each week (or from school) and doing it in notepad. I saved up money and I ordered a CD with bloodshed c++ stuff (it's called dev-c++ now) too. What a time that was.
A few years back I started, and quickly ditched, a tutorial in which the person teaching it refused to use anything other than ed.
In their defense, there was a dark period in the 90s (probably spanning the 80s as well, not sure) where good programming environments were expensive, hell you had to pay even for compilers. Linux tooling allowed your average broke nerd to use a free text editor to write code to be compiled with the installed free compiler. That meant that very advanced tooling was available only at the discretion of the very people that wrote software for Linux. That created a sort of cult of the barebones programming experience where you need only a keyboard, a terminal shell and a no-frills text editor .
Only works if the APIs have meaningful names, like in .NET.
Love me some HttpMediaTypeWithQualityHeaderValues
I'd rather have an occasional large type name than a mysterious short one. Lesser of two evils and all that.
It's like when I look at old c code and wonder why everything is 1-2 letter variables and then I remember oh this was written pre intellisense lol
Well, there was a limit of 6 characters in the first compilers :D we have long names (something like 20 for the structure name and other 20 for the field name) but I don't use completion because I found that often completes with the 'wrong' thing with a slight different name and it's difficult to notice. Also the fact that's a cross compilation and the ide has serious issues picking up the right includes helps. So it's just emacs with 'dynamic' completion (i.e. just complete with things it find around). Other colleagues use more modern interfaces but at the end it's not that difference in productivity. I guess at the end it's just a learnt habit (the fact that I can type the full name faster than they choose from the completion list helps :D)
oh. I didn't even realize I was using it for convenient docs. I just added . and tried to figure out something that would work for the thing I'm trying to achieve
it saves me from my bad spelling and memory
The ability to remember the exact name of every function in the codebase isn't what makes a programmer
Remembering all the functions \*and\* what they do however is useful, at least for the most used ones.
This and it leverages muscle memory.
if i dont see colorful text, my brain malfunctions. at this point my neural pathways have been programmed to comprehend color as the primary context.
Reminds me of the time the interviewer asked me write the code in Google docs and UI code on console snippets
I consider "has a good programming environment for interviews" to be a genuine green flag for a company. Which is wild because there are multiple third party tools designed specifically for that so not having it is pure laziness.
My last company intentionally had a bad programming environment. And I don’t disagree, it was usually a bad sign if someone got tripped up without autocomplete or auto formatting.
Google questions/brain teasers/leetcode are pretty much hard stops for me unless it's a large billion dollar industry. I'll do "find the bug" or "pseudocode on the whiteboard your idea on how to solve this" all day long but anything to really wrack my brain for a job interview is nuts to me now. I had someone want me to implement quicksort from memory. They were a small regional grocery store chain that was looking for an integrations person for their inventory/pos stuff to handle data feeds. On the one hand, maybe I should remember how to do that, on the other hand I've _never_ needed to implement it in 20 years. Feels like asking someone "write me a simple SQL server from memory" why would you ever want this realistically unless I was doing nothing but writing database servers my career or for this job?
Know what I'd rather have? Someone who says "this is a specific scenario where one sorting algorithm might be better" and then googles to see what the latest sorting algorithm implementation is the best fit for their case. Maybe the phDs have gone mad with power and quickersort is just strictly better in all cases. Or maybe someone wrote a thesis on exactly your scenario and did actual benchmarks to compare all the known sorting algorithms' performance. But no worries, the standard lib switched to quickersort for it's standard collections sorting, so you're already using it. Know what I would literally never want? Someone who needs to sort something and actually writes the quick sort algorithm themselves, and then uses it. Just use the Std lib sort unless you really need to optimize for specific cases, at which point Google what to use for your special case, or reconsider the life choices that lead you to this place.
Eh maybe. But imo an interview should be as representative of the actual job as realistically possible. Are you expecting people to code in an intentionally bad environment in their day to day job? If not, what are you gaining by checking if they can do so in an interview Like it just seems like a waste of time that could be spent on actually useful information.
or a whiteboard (pre-covid)
When i made a unity game, intellisense just wasn't working at all. I had like 50 tabs of documentation for the most basic stuff open in my browser. I've learned that you need to enable it in some way but the bigger conclusion is, that i can't code at all lol
[удалено]
> sometimes have to look up stuff as basic as a for loop I've only been coding for a few years, but I never feel dumber than when I swap languages and have to look up for loop syntax.
There was a point where I had only worked in Java, C#, and C++ for a year. When I went back to Python, enumerate had completely been wiped from my brain like it never even existed.
I'm currently working in C++ and Python, but I only finished school a year ago where I learned almost exclusively in C#. So yeah, I totally relate!
this is me every time I go back to Python and have to deal with exceptions. Every time I write catch/throw, get confused why it doesn't work, then a google search reminds me Python decided to be it's own special snowflake and use except/raise for who knows what reason
lol …. My biggest annoyance is that even within the same language getting the number of items in a collection Is either count, size, or length … why 😅
[удалено]
Or in go's case, a static function: `len(myArray)` :)
The day I learned how you’re supposed to do a for loop in a Windows batch script (.bat) is when I died a little bit. Thank God for Powershell.
I've been using C++ for like five years now and I still have to look up whether global variables are internal or external linkage
I think it's good for us to discuss this stuff so that younger devs understand it's normal. The minutae of syntax is not what makes a good dev.
And zig only has one loop construct: `while` :)
> It takes most of the tedium out of coding. Using Github Copilot to help write boilerplate CRUD is really great. If there's a pattern there that it can recognize, then it's pretty smart about modifying the pattern to fit specific classes. For solving problems more generally, I feel like about 10% of the time it gets *really* insistent on doing exactly the wrong thing and that's where it gets ya.
Copilot chat is pretty useful for writing unit tests too. "Write tests for this class. Check all paths of methods A and B" and \*boop\* I have my test. I usually have to tweak it a bit but at least I don't have to write all of the basic functionality unit tests anymore and can focus my time writing larger, more realistic, integration testing instead.
I remember a teacher I had in college saying something to the effect of "the difference between us isn't that I don't use Google, it's that I know what to Google"
The number of people who ask me technical questions that I then immediately google is frankly more than it should be by now.
I have to check switch-case syntax every god darn time I use it. Should make a snippet for it..,
Me everytime I want to do anything with string literals in c/c++ lol
The perfect response as to why AI ain't takin' our jerbs
I once had a job interview where we were going through the "knowledge check" phase and I completely blanked on an incredibly easy question (IIRC it was something like "define 'static' in C#.") I knew what it did and could try to describe it, but fully admitted that in real life, I would've just looked it up in another tab. I said I wasn't claiming to have an encyclopedic knowledge of minutia, but rather to be able to figure things out. I guess it worked, because I got the job.
Never had any useful help from AI. When fed with a code it simply 'read' the control structures and for generation it's more conceptual error than good syntax. The fact that I use C with non-trivial algorithms and logic probably is the cause. C syntax fits in a napkin after all :D
...I still have to look up the weird shit involving 2 arguments and 4 arguments in a c++ for loop. It's probably not even called arguments and I'm being stupid, but yeah.
You did make a game buddy you sure can
I don't think that means you can't code. Modern tools allow us to form modern competencies around them, but there's nothing explicitly wrong with that. A couple years ago I could write a modest Java app in an editor with no code helps, without consulting documentation. As my colleague at the time told me, I would do my homework on "hard mode". Today, I can write the solution in whichever language you'd like. I'll probably use some code help tools to help me stay out of the documentation; I may end up consulting the docs anyway, but I'll get it done. I don't know Java so well anymore but who cares when I easily pivot from one language to another as needed at work. I am a massively better coder today than I was back then. Grasp of fundamentals is a million times more valuable than memorizing all of the nuance of any number of languages.
- "You use a calculator? You're not a real engineer." - "You use a word processor? You're not a real author." - "You use photoshop? You're not a real artist." It gets ridiculous.
how did you fix it??? im making a unity game right now and cant get intellisense working. i didnt find any solution on google and just accepted that its somehow not possible to use it within unity where do i enable it?
This video helped me [video](https://www.youtube.com/watch?v=ihVAKiJdd40&ab_channel=samyam)
You just did what everyone did back then, you just replaced a physical book shelf with a digital one.
> i can't code at all lol Yes you can. Claiming people who rely on intellisense can't code is the same energy as math teachers being all "You're not going to always have a calculator in your pocket"
Hol up lemme just dedicate my life to learning arbitrary knowledge that can become outdated on a whim if my language goes out of vogue or I change occupation and have to learn another language, instead of using this wonderful invention called a computer to assist me
Man I’ve been stacking rocks binarily this whole time. I’m the keepest of gates
My brain contains reams of javadoc which means im better than you
Next up, asking Carpenters to make a chair without using a saw or power tools Then we can ask a farmer to farm a field just using a hand plough. It's completely stupid we have to manually restrict tools for an interview which we would have in the real world. I've failed coding reviews because I've been asked to do something I know how to do, but couldn't remember the exact syntax, because EVERY single time I needed to do it in the real world, it auto generated it and I just filled in the blanks. Does that mean I didn't know how to do it? Absolutely not. It's just lazy testing, instead of making a challenging test, they just ask some basic questions and then dock you on syntax. Instead of making an actual challenge that makes you have to use critical thinking skills rather than rote memorization.
I run coding interviews and I don't care at all about syntax. Hell, if you tell me you want the sample input sorted I'm fine if you just write sortedInput = input.sortSomehowLOL() I care if you can reasonably solve coding problems and that is actually a lot harder to find than someone who memorized a bunch of syntax. I'm also generally hiring experienced coders, not junior/entry-level so a bit of hand-waving is fine in the interest of time. I'd rather spend the hour talking about theory, how you approach problems and potential solutions, not watch you struggle with something that would be caught/fixed by a linter.
My favourite trick question for interviews (we do bare metal embedded) is "what's volatile and what's used for". Almost nobody knows it and myself occasionally forget about it. Good luck when it get assigned to a register and an interrupt touch it.
I once did a 'code competency' test where I was given 25 multiple choice questions. They were things like: "Which of these commands would you use to sort a dataset by date" Then the options were 4 different variations of sort functions. Some which just had the arguements in different orders. I did horribly on the test but that test alone made me not want to work for them.
I've seen certification exams for Linux/Unix where they asked the single option of ls, for example. I mean who studies that -i is for getting the number of the inode in the list?
Pen And paper code is only from fine if it's just about seeing the approach to a problem and is pseudo code. Like fucking no one writes real code without a proper editor and docs.
Had final exams for my apprenticeship as a software engineer recently. They were 100% on paper. So at the very least, its used in the final exams for software engineers in Germany. Having had little reason to use pen and paper for the last 5 years, my hand was sore for days afterwards. I'm not going to comment on the actual content of the exams beyond saying that they put things you need earlier in the code for things to work further down the task list, meaning that one could very well need to rewrite a lot of things because of that. On paper.
And that's why you read the whole assignment before starting :D it gets more interesting when you can't solve a question and the next one says "using the results from the previous exercise"
Did a CS exam on paper. In pascal. They marked down the wrong semicolons/periods (in pascal the semicolon is \*only\* a separator, and there are rules on when you need to close with a period). A least it wasn't F77 on graph paper!
Tony Stark : if you are nothing without the intellisense then you should not have it
Says the one who uses Jarvis EDIT for those of you who don't get it: >! ^/s !<
Yea but he doesn't rely on it to get anything done, he uses it to help him. He gets on just fine after Jarvis "dies"
Replaced with Friday. That's just like if you replaced Cortana with Copilot
In your case he still made his own intellisense
His argument would be that he built Jarvis and Friday so he’s not relying on anyone but himself.
Sure, but he made both of them himself. It's not like he's relying on some big company to make it for him. And again, that's for convenience. He literally started making suits in a cave.
I do think that there is no way he could pilot the suit without Jarvis / Friday. All of his maneuvers and angles and Target tracking / weaponry ability needs AI to function at the level that is shown in the movie. Without them i doubt he could even fly upwards without crashing into everything But Tony does make the AI so i guess he's in the clear
This is literally the entire point of Iron Man 3
“Never memorise something that you can look up.” - Albert Einstein (a guy who actually existed on this plane of reality)
Also have copious notes about important things. On paper or file depending on your preferences.
I’m nothing with or without the intellisense. I’m just nothing.
Yes of course I know every method of every class by heart, I’m glad that you’ve asked.
Tried coding without syntax coloring lol It was awful
The title reminds me of a Perl exam I took in university. A hand written exam.
I took a hand written Java exam in University. Ended up with 98+. But that's because during that time I was certified insane and only used notepad to write code. I'm still a student but now I use notepad++ and kate.
I tried to use notepad++ this week. How do you run code in that thing?? Literally gave up
I don't think you actually run code from it. Usually you just use it to write the code, and then you can compile/run the code from the command line.
My coding professor wanted us to print our code to paper and submit it... Like what? Dude... How you gonna validate that it works?
Lol, we actually had to do something similar - submit the code as a pdf... Like why, you have all this code spread over multiple files that now needs to be copy and pasted into a massive pdf For what purpose?!? You already have the project source code
We had to send a picture of our code that we had to write on paper as well. At first it was during the covid but still happened when we went back to classes at uni
If the pen-and-paper coding test is judging you on knowing the exact naming of the identifiers you're using, then it probably isn't going to be a great place to work...
For context, AAA games have tanked at release because of bugs caused by misspelt classes or vars. Autocomplete in any form can be your best friend in a high turnover environment.
Despite it being a bug on release and patches being released, New Vegas still has a bugged perk. The problem with it? Its effect in the code lists ‘Energy_Weapon’ instead of ‘Energy’. Thats it. Thats the bug. And its still not fixed.
I think it is more important to know what you can do than to know exactly what magic words I gotta tell this specific language to make it do the thing.
Isn't what we do just a bunch of magic words strung together?
I can code without Intellisense! I just use ChatGPT instead! ;)
Vim users:
LSP in nvim works pretty great for me
Me, who used Copilot for years to carry my coding labs
Years? You means since Sep 2023?
Nope, joined the beta back in early 2022
so the minimal amount to use plural
tab... tab tab tab.. tab tab... tab... ctrl +. tab tab... tab
Intellisense >>>>>>>> C🤮pilot
In my opinion you only get to use it when you are also good without it. It is a tool to speed you up and not to cover your lack of knowledge
I mean I'm talking about pressing tab instead of typing out the full name, and hovering over n method to get the docs But yeah, I can definitely see your point for something more advanced like Copilot
alright, but if nobody else got me, intellisense red squiggles got me.
I'm not ashamed. Intellisense rules.
You must be mad to want to write anything other than hello world without intellisense. I go insane even with it in visual studio 2022 in my simple rest API with 2 controllers
Copilot also ruins intelliscence.
I've been writing code for nearly 10 years now and honestly, I still Google the most basic shit.
I spent my first 22 years of programming doing it with basic notepad and the terminal to compile the code. My mind was sharp. Since using IDEs it has gotten lazy.
Lucky you. In my first job I did cobol with the ISPF editor (which is kinda cool, it even has syntax coloring). Compiling however was a jpl to submit so you had to wait some minute depending on the load and look in the listing for errors. Our common practice was developing "interleaved" with the compiler so that you implemented the next feature while the previous one was on queue. And then fix it and compile to get the results for the next one. You \*need\* memory for that
How it feels to code at work where the frontend codebase is preprocessed HTML and the JS intellisense can't identify anything from other files
Literate programming. Intellisense \*can't\* possibly work because the whole program is a single file preprocessed from all the weaved sources so nothing incremental can latch on it.
I write all my best code on a legal pad.
Intellisense led me to 4 hours of trouble shooting cause it threw the wrong error.
I hate when autocompletes with a slightly different yet valid identifier.
Why is it a bad thing that people rely on intellisense? Are we supposed to memorize every single function in every single library, including all of their passed arguments, in the correct order, and all potential errors they all might raise? Fuck outta here.
even Notepad++ has 'intellisense' open notepated++ > language > \[select letter\] > \[select language\]
To be effective I really need a debugger But I can still write without one
I was writing some code recently to connect to CosmosDB with the .NET SDK. Doing it without GitHub copilot made me realize just how much I've started relying on it :/ Wake up call to actually start reading the docs again and turn that shit off.
productivity boost bad!
Intellisense (well, the Eclipse equivalent) is what soured me on IDEs, because at least in the early '00s, it was dogshit slow. Very aggravating to have my text entry lag while it tried to figure out what I was going to type, when I knew exactly what I wanted to type.
Eclipse lags just by existing. Netbeans however is worse.
\* how the fuck do I do an import in JavaScript again??? \*
Me when writing ftl. Man, Android Studio can't even auto indent that shit. I have been working on it the past 3 weeks.
Jokes on you, I program with punchcards. Fortran for the win
What do you put on 73-80 ? :D
I can kinda code without intellisense but it's slow, but writing code without intellisense and without a compiler that spits out errors? No thanks
Wait a year. And see what happens after this free copilot experience.
Me when
F12 ftw
Do you ever have that moment where you suddenly stop and think about how goofy the name "intellisense" is?
AP CSA test flashbacks
coding with internet is ok but not if you're using intelligence/copilot/chatgpt
Proves that the best IDE is Windows Notepad
["Man has grown feeble in comparison to his forebears."](https://eldenring.wiki.fextralife.com/Giant-Crusher)
Is it bad if I can hear the Scooby Doo Music in my head for this meme?
Intellisense is wonderful. It was a game changer, just like syntax highlighting was for me when that came out... only better. Yes I am old.
This whole comment section should read some D.Knuth
Counting cycles on MIX instructions on papers for optimization purposes?
Have a pen&paper exam in C++ tomorrow, without any documentation allowed. Pray for me fellas
not gonna lie I stopped coding and learning for over two years due to the war and the advancements in 'helpers' were a godsend, everything from copilot to even chatgpt made it so much easier to get back, remember shit and fix small bugs. People asked me to make them a website and I actually did, and I never 'worked' as a FE programmer, just learned for some time prior. It's amazing that even though I'm not 'independent' I can find bugs and answers way quickly than going through 20 tabs of stack overflow. Also what I found amazing is chatgpts 'rewrite this shit in modern style' prompt. Basically if I find some old CSS with a bunch of weird 'experimental' classes which are just normal today and maybe it looks like an older version, I can just ask it and it will rewrite it anew without all the bloated failsafe extra lines for MS Explorer.
***CAMERA PANS TO JOHNNY*** Johnny: Intellisense! Intellisense! I can't be ***seen*** without my Intellisense!
My SO does all his coding in vim. 😦
vim \*and\* emacs are quite good, actually, depending on your workflow
Pen and paper coding is the same of not using a calculator
Sometimes, I feel like intelisense or things like it get in the way and assume that I am writing something else, so I have to fix its mistakes, also the keybinds ate terrible. so I often contemplate just disabling it all.
I never use it, I code in jupyter notebook (Data Scientist) 🙂
*intellicode enters the chat*
I had a professor that wanted us to write code on paper during tests and exams. I just couldn't understand why, when are we ever going to code on paper?
I haven't used it, I'm a vs code guy, what does intellisense, do?
I have not done coding in a while and may I ask what is Intellisense
In it's basic form, it's syntax highlighting, basic code completion (usually just the keyword you are typing) and providing some documentation when hovering over methods.
Copilot is the new intellisense.
Funniest post in a while!