Conversation
Notices
-
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 15:45:48 JST Sick Sun Out of the box the vue 3 project creator doesn't work right in visual studio code. The second I added my own new component, it now can't dynamically import them in its own router. I found a solution in a three year old github issue. It worked until I restarted vs code.
This was supposed to be a quick experiment to see if I was missing anything when using a popular web framework, after doing zerobuild the last few years.
This is why it made me so mad when that lady from Google said that "the only people that don't use frameworks are hobbyists." I started on a project a couple days ago without frameworks and without any build step and in two days had a fully-working demo. but if I use the massive pile of elephant shit that is JavaScript tooling and frameworks, I will spend about that much time just setting up my environment and fighting mystery problems, the solutions for which weren't in the project setup, just in random github issues and blogs. If you are a "web professional" you have accumulated all that bullshit knowledge and it will be faster for you. Having to know volumes of stupid shit is a large part of being a "web professional" and that is why so many programmers don't want to be one. Every programming environment has stupid bullshit but web development might be the worst one of all.- Haelwenn /элвэн/ :triskell: likes this.
-
Embed this notice
nyanide :nyancat_rainbow::nyancat_body::nyancat_face: (nyanide@lab.nyanide.com)'s status on Thursday, 10-Oct-2024 15:47:01 JST nyanide :nyancat_rainbow::nyancat_body::nyancat_face: @sun I like it when things are unpredictable, including my untimely death Sick Sun likes this. -
Embed this notice
narcolepsy and alcoholism :flag: (hj@shigusegubu.club)'s status on Thursday, 10-Oct-2024 15:47:27 JST narcolepsy and alcoholism :flag: @sun i don't understand what "works in vscode" even means. To me it sounds like "stopped working in notepad.exe" -
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 15:53:42 JST Sick Sun @hj there is a tool provided by vue for creating a new project and it includes configuration to integrate error checking into an IDE. It doesn't work right unless you apply additional steps that are not documented anywhere. The reason this happens is because the framework does preprocessor magic to make it look like there is a consistent environment and it is complicated and configuration-heavy and brittle. -
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 15:56:19 JST Sick Sun @hj if you avoid this completely and just edit your files in vi it usually works but then when you make a mistake your browser gets a blank screen and 10,000 vue error messages in the log that don't help you -
Embed this notice
narcolepsy and alcoholism :flag: (hj@shigusegubu.club)'s status on Thursday, 10-Oct-2024 16:00:09 JST narcolepsy and alcoholism :flag: @sun yeah error messages/tracebacks related to vue template are often nonsensical, but notwhere near schizophrenic level of typescript error messages.
I usually just rely on eslint+emacs, I really don't want to use microsoftware -
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 16:04:07 JST Sick Sun @hj the problem with typescript is when it's being used as a preprocessor for javascript engines. I have used Deno and Bun which have native typescript support and the errors are perfect because they tell you the actual problem and the actual line number. I was just thinking today about how browsers should just support typescript natively using a different script lang attribute. -
Embed this notice
narcolepsy and alcoholism :flag: (hj@shigusegubu.club)'s status on Thursday, 10-Oct-2024 16:06:42 JST narcolepsy and alcoholism :flag: @sun for me typescript errors are all like
Type YourType is not compatible with YourType -
Embed this notice
narcolepsy and alcoholism :flag: (hj@shigusegubu.club)'s status on Thursday, 10-Oct-2024 16:07:30 JST narcolepsy and alcoholism :flag: @sun i hope typescript dies in a fire, i hope browsers never support it natively. -
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 16:08:28 JST Sick Sun @hj I was just thinking how good it is while I was going through the pleroma-fe code. your code isn't bad, it is quite good in fact, but I missed strong typing A LOT. -
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 16:10:13 JST Sick Sun @hj have you ever used svelte, I still like vue but it has a lot of warts -
Embed this notice
narcolepsy and alcoholism :flag: (hj@shigusegubu.club)'s status on Thursday, 10-Oct-2024 16:20:53 JST narcolepsy and alcoholism :flag: @sun typescript doesn't even have strong typing, developers themselves said that goal of language is to be a compromise between convenience and type safety. Problem with that is that typescript fails at both. You get types that suck ass and when you try to improve them you end up being sucked into a black hole and somehow come out of it realizing that no, you can't do good types where you wanted because typescript can't do that. You end up doing shit like as any as YourType, and at that point might as well not use typescript at all because your types become very fragile. Take shot every time you used a JS library with provided TS type definitions and realize that type definitions are outright WRONG. This is especially true for anything that is fetch()'d
It's all just busy work, wasted time that could have been spent writing JSDoc and comments in code. Bonus points to that because unlike TS typedefs/error messages those are human readable and are meant to be like that.Haelwenn /элвэн/ :triskell: likes this. -
Embed this notice
narcolepsy and alcoholism :flag: (hj@shigusegubu.club)'s status on Thursday, 10-Oct-2024 16:26:45 JST narcolepsy and alcoholism :flag: @sun no I'm not like the other girls - I don't immediately hop onto next hot thing. Looking at it right now it looks like vue with composition api
my only question for svelte is whether you can put js code separately from markup or not. -
Embed this notice
Haelwenn /элвэн/ :triskell: (lanodan@queer.hacktivis.me)'s status on Thursday, 10-Oct-2024 16:28:21 JST Haelwenn /элвэн/ :triskell: @hj @sun I guess for strong typing you'd need an actually different language which transpiles rather than what seems to just be mere type annotations.
Sadly only ones I know doing this are Elm and PureScript and only shit no, please not Haskell syntax. -
Embed this notice
narcolepsy and alcoholism :flag: (hj@shigusegubu.club)'s status on Thursday, 10-Oct-2024 16:30:55 JST narcolepsy and alcoholism :flag: @lanodan @sun javascript is untypeable by nature. I wish people would stop pretended like it's not. -
Embed this notice
Haelwenn /элвэн/ :triskell: (lanodan@queer.hacktivis.me)'s status on Thursday, 10-Oct-2024 16:33:56 JST Haelwenn /элвэн/ :triskell: @hj @sun Yeah, hence why you'd need something actually different and basically use asm.js and/or WASM depending on how much backward compatibility to hell you want. narcolepsy and alcoholism :flag: likes this. -
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 16:37:40 JST Sick Sun @hj
> Take shot every time you used a JS library with provided TS type definitions and realize that type definitions are outright WRONG.
This is the only part of your post that I agree with. But it can all be fixed if they just wrote it in typescript in the first place. When the type definitions don't match the code it is a bug because the developers can't be assed to even document what their code does for people trying to use it -
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 16:39:15 JST Sick Sun @lanodan @hj just do it however Deno does it, it's built on top of v8 but it supports typescript perfectly. -
Embed this notice
narcolepsy and alcoholism :flag: (hj@shigusegubu.club)'s status on Thursday, 10-Oct-2024 16:45:05 JST narcolepsy and alcoholism :flag: @sun just so you know, typescript at dayjob put me on a half-year sick leave in 2020 or so, and I still haven't fully recovered from it.
Partially because of how shit TS is, partially because of colleagues telling me shit like "we have to use because we have to use it". The all-time low was me asking for help from the guy who introduced TS to codebase and he replied with "i'm not a TS expect actually".
I delved VERY deep into it, tried to write good types, and all I got are:
- several consequtive mental breakdowns
- million "YourType is not compatible with YourType" errors
- hunderds of thousands of undecipherable error messages
- thousands "types are actually wrong" instances.
All in a codebase that isn't full of HJ-branded JS magic. In codebase that previously used flowtypes (which were also wrong).Haelwenn /элвэн/ :triskell: likes this. -
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 16:49:17 JST Sick Sun @hj some javascript codebases are not amenable to strict typing and it will be a complete nightmare. it's not really anybody's fault because javascript is javascript and doing some things that typescript doesn't like is completely acceptable js code. part of the issue is absolutists declaring you can't ever use "any" type. Haelwenn /элвэн/ :triskell: likes this. -
Embed this notice
narcolepsy and alcoholism :flag: (hj@shigusegubu.club)'s status on Thursday, 10-Oct-2024 16:56:25 JST narcolepsy and alcoholism :flag: @sun i am that absolutist. If you use "any" you end up having more chances of having "types are WRONG" if you use "any" you can just go back to writing JS, simple as, and is what I did.
>some javascript codebases are not amenable to strict typing and it will be a complete nightmare
and people STILL say that "you can just bolt typescript onto your project, it's easy!" people STILL pretend like you can bolt on types onto javascript. People who make shit like TS and Flowtypes probably never wrote a single line of JS in their entire life.
Typescript should have been a completely standalone language but I guess microsoft just had to introduce more nightmare into our lives.
god i really crave murder right now
6dc8349158acdb8e6f9ea910906d761… -
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 16:58:55 JST Sick Sun @hj I meant typescript absolutists enabling a linter and making your code commit fail if it detects you using "any" type.
I do actually do this on my own codebases but then sometimes I want to use it anyway so I just put in a linter disable comment for that type or function or something. -
Embed this notice
御shp :blobshp: (shpuld@shpposter.club)'s status on Thursday, 10-Oct-2024 16:59:45 JST 御shp :blobshp: @sun @hj the less any there is, the better ts works. in cased where you need it, better to have things cast back to something usable asap. narcolepsy and alcoholism :flag: and Sick Sun like this. -
Embed this notice
narcolepsy and alcoholism :flag: (hj@shigusegubu.club)'s status on Thursday, 10-Oct-2024 17:00:25 JST narcolepsy and alcoholism :flag: @shpuld @sun >cast back
ah, as unkonwn as YourType, my beloved. -
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 17:00:39 JST Sick Sun @newt @hj like hj said they did it in a way that was a compromise between js way and static typing way. It's perfectly possible to make a strong static typed language that compiles down to javascript -
Embed this notice
:suya: (newt@stereophonic.space)'s status on Thursday, 10-Oct-2024 17:00:43 JST :suya: @hj @sun you can bolt types onto anything, even JS. Perchance, TS did it badly, I've no idea. -
Embed this notice
narcolepsy and alcoholism :flag: (hj@shigusegubu.club)'s status on Thursday, 10-Oct-2024 17:00:48 JST narcolepsy and alcoholism :flag: @Saphiroth @sun
099065b4a9e89527f070b96369c8beb… -
Embed this notice
SalamiAeros (saphiroth@fedi.getimiskon.xyz)'s status on Thursday, 10-Oct-2024 17:00:52 JST SalamiAeros @hj @sun Rare to see an *OFF* comic for programming languages -
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 17:01:36 JST Sick Sun @shpuld @hj this is exactly how I do it. usually if I want to do something ts doesn't like, I create a function that takes in a type and returns a type and does javascript fun inside the function -
Embed this notice
narcolepsy and alcoholism :flag: (hj@shigusegubu.club)'s status on Thursday, 10-Oct-2024 17:02:33 JST narcolepsy and alcoholism :flag: @shpuld @sun i had to go through unknown several times at dayjob. -
Embed this notice
御shp :blobshp: (shpuld@shpposter.club)'s status on Thursday, 10-Oct-2024 17:02:34 JST 御shp :blobshp: @hj @sun any doesnt require through unknown, if you need to go by unknown there's some other logical problems -
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 17:02:50 JST Sick Sun @hj @shpuld unknown is useful if you're getting data from a service or something -
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 17:04:39 JST Sick Sun @shpuld @hj I wrote a massive typescript codebase from scratch and I only did it a couple times! -
Embed this notice
御shp :blobshp: (shpuld@shpposter.club)'s status on Thursday, 10-Oct-2024 17:04:41 JST 御shp :blobshp: @sun @hj 99% of the time I find ts friendly ways to do things that end up being clearer -
Embed this notice
narcolepsy and alcoholism :flag: (hj@shigusegubu.club)'s status on Thursday, 10-Oct-2024 17:04:59 JST narcolepsy and alcoholism :flag: @shpuld @sun i find writing JSDoc 200% more useful than writing types. It is supported by IDEs and unlike types has human-readable content -
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 17:06:46 JST Sick Sun @hj @shpuld I probably dislike JSDoc at about 85% the intensity you dislike TypeScript. it's really only hints for an IDE, it won't enforce anything. -
Embed this notice
御shp :blobshp: (shpuld@shpposter.club)'s status on Thursday, 10-Oct-2024 17:07:11 JST 御shp :blobshp: @hj @sun it seems good, haven't tried it tho. my ts experience in the past few years in a very disciplined codebase has been so overwhelmingly positive I haven't looked elsewhere narcolepsy and alcoholism :flag: and Sick Sun like this. -
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 17:08:17 JST Sick Sun @hj @shpuld I do use jsdoc extensively when I am writing web javascript because having a build step for web development is so intolerable to me that I'd rather use javascript and jsdoc than suffer trying to keep my environment working for typescript web Haelwenn /элвэн/ :triskell: and narcolepsy and alcoholism :flag: like this. -
Embed this notice
narcolepsy and alcoholism :flag: (hj@shigusegubu.club)'s status on Thursday, 10-Oct-2024 17:11:11 JST narcolepsy and alcoholism :flag: @sun @shpuld it at least has human-readable descriptions of what arguments are and what function does and returns. IN ENGLISH (or whatever language developer speaks)
Typescript type definitions are eldritch runes, and also brings in [slur]s that go by saying shit like "types should be enough documentation". Those people I don't want to murder, I want to torture them.
image.pngHaelwenn /элвэн/ :triskell: likes this. -
Embed this notice
narcolepsy and alcoholism :flag: (hj@shigusegubu.club)'s status on Thursday, 10-Oct-2024 17:12:16 JST narcolepsy and alcoholism :flag: @shpuld @sun i don't know whether if you people are lucky with it is just me who's unlucky. -
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 17:14:28 JST Sick Sun @hj @shpuld There are programmers who love types and contracts and programmers who hate that stuff, we are probably just different kind of programmers.
does Rust intrigue you or disgust you? -
Embed this notice
narcolepsy and alcoholism :flag: (hj@shigusegubu.club)'s status on Thursday, 10-Oct-2024 17:15:38 JST narcolepsy and alcoholism :flag: @sun @shpuld typescript also doesn't enforce anything if you keep using "any". And "any" is a forbidden fruit that is also addictive -
Embed this notice
narcolepsy and alcoholism :flag: (hj@shigusegubu.club)'s status on Thursday, 10-Oct-2024 17:19:25 JST narcolepsy and alcoholism :flag: @sun @shpuld i am indifferent about rust, I don't like the "religious cult" aspect of it tho.
I do love me some types, it's just that they don't belong in JS environment at all. I was a Java/C# dev after all. -
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 17:24:14 JST Sick Sun @hj @shpuld I looked at OCAML because it has really rich and strict typing but the problem is it doesn't have hardly any libraries for network stuff like querying web services etc -
Embed this notice
Sick Sun (sun@shitposter.world)'s status on Thursday, 10-Oct-2024 17:25:41 JST Sick Sun @hj @shpuld I just searched again and found dozens but there was some other problem about them that made me reject it, like multicore being incomplete or something -
Embed this notice
受不了包 (shibao@misskey.bubbletea.dev)'s status on Thursday, 10-Oct-2024 21:54:39 JST 受不了包 @sun@shitposter.world i hate to say it but perhaps DHH is right