I have literally never looked at github stars as a measure of quality or had it affect my decision. I have looked at git logs, websites, issues, etc. But I would be genuinely worried if someone used github stars as an indication. So many honestly stupid projects have a lot of stars, and stellar ones have next to none.
proof here. The top are taken by chinese educational repos. Elastic Search and Spring Boot are the only projects actually used by anyone in the top 10. But why would I trust the stars for spring boot over the fact its used in every java shop on the planet?
I don't really get how VSCode got so popular. You can use a language server perfectly easily with Vim, Emacs, Helix, Sublime, etc. You can customize basically everything in those editors, syntax, etc. You can just alias console commands for all of your build tools with some custom scripts if you need more complex build commands routinely. The git terminal tool works better than any VScode option. And VSCode is slower than all of those.
We already have so many good fast secure polygot customizable text editors. Why run one through Chrome and fill it with extensions for everything that will have arbitrary access to everything?
> I don't really get how VSCode got so popular. You can use a language server perfectly easily with Vim, Emacs, Helix, Sublime, etc.
You open it. It just works. And the learning curve is smooth.
Compare this to Vim where, if it's the first time you're opening it, you are forced to kill the process because you don't even know how to quit it, never mind actually do any productive work.
> Compare this to Vim where, if it's the first time you're opening it,
If you open vim with a file, like you do with all file editors, there's no such examples. It's also at the bottom of auth/credit/contribution fluff in your example, which people would be expected to ignore.
> Because you can't read
I'm not arguing for more hand holding here, but saying the poster can't read is ironic. Reading is one part, comprehending is the other.
> If you open vim with a file, like you do with all file editors, there's no such examples
I think you are being disingenuous here. I'm serious. VSCode isn't just plug and play. It isn't just "install and away you go". It's not much you have to be taught, but you did have to learn something from somewhere. Either from another IDE with similar visual language or because someone showed it to you.
Besides, your first usage of VSCode isn't going to be opening a file. It also gives you info at the startup.
Are you seriously telling me you haven't Googled how to use VSCode? Or did you just forget because you are now comfortable using it and used to it?
> not sure why we're pretending vim is easy to use
Because it is! I don't know why you're pretending it is hard.
The conversation is no different than iPhone users fumbling their first time on Android and Android users fumbling their first time on iPhones. If you didn't have to learn things then this would never happen. Can there be better communication around vim? Certainly, that's always going to be true. But "run `vimtutor`" is pretty effective and I'm sorry, DEVELOPERS shouldn't be documentation adverse.
If you want to use vim you only need to know a few things. `i` to start typing (insert), esc (or ctrl+[) to go to "command mode", `:w` to write, `:q` to quit. That's literally 4 things. In the standard vim config you can use your mouse and arrow keys, so you don't even need to learn hjkl to get going.
Truthfully, the main difference is where the learning happens. vim forces the user to learn a few things up front (and not many). Getting all my python envs and configuring everything in VSCode took me much longer than the 15-20 minutes it takes to read vimtutor. You get your "Hello World" out faster, but it also makes dealing with environments and other things harder.
What I will admit is that vim is hard to master.
But mastery is very different than usage. Even intermediate level is not hard to achieve once you understand the design language. It's a different way of thinking but come one, it's aimed at programmers. You're really telling me it is hard to learn that there's a command mode and a writing mode? That commands are composed of actions + motions? Going through vimtutor means you should know a lot more commands than vimtutor introduces because of this design language. But mastery? It requires reading docs and years. But that's not a flaw because what you can do in vim is nearly unbounded. While that's also kinda true about VSCode there is a much steeper learning curve you need to do fancy things and that knowledge isn't going to make you really better at general VSCode usage.
> It's a meme
So is the difficulty of assembling Ikea furniture.
People brag about how dumb they are all the time. I don't get how you think that's a defense. There's plenty of docs in the program itself and plenty more online. Many being well written. But ultimately vim isn't being targeted at the general audience (unlike Ikea furniture) and it's perfectly acceptable that it requires a little reading. By my screen you get all the commands I listed, and more, with two screens worth of text from vimturor. 1 screen if you split, since it is 80 chars width. That really isn't much reading. If that is the definition of "hard", for developers, then I have no hope for software. It shouldn't be "hard" or "too much" for anyone. Let's be honest. Are you really okay with the bar being so low that it's impossible for a blind person to trip over?
> It's also at the bottom of auth/credit/contribution fluff in your example
Here's the message
VIM - Vi IMproved
version 9.1.857
by Bram Moolenaar et al.
Vim is open source and freely distributable
Become a registered Vim user!
type :help register<Enter> for information
type :q<Enter> to exit
type :help<Enter> or <F1> for on-line help
type :help version9<Enter> for version info
Not even 10 lines...
If you brag about being lazy, expect to be called lazy.
I just was mainly motivated in replying to your accusation that the original poster couldn't read -- I feel like that claim is pretty disingenuous from the get-go and if I'm being accused of it, well, I'm in good company.
I don't even know what to reply to here, but I'm in general agreeance with most of what you wrote. I just don't agree users type "vim" alone their first time, I'd wager it's following some guide/tutorial online that already has 'vim filename.txt' snuck in there. The fact that people get stuck in vim feels like something intentional to weed out people, otherwise it's a funny problem people run into on other programs like ftp, ssh, screen, even the python interactive shell. There's no unified lexicon on cli tooling, except maybe the gnu clis. It makes you appreciate good GUIs.
The real big brain approach here is to divorce the idea of vim from the command line editor and use it as a plugin in an IDE. Best of both worlds.
While there isn't there is more than most people give credit to. It shouldn't be too much of a surprise giving cli people write cli tools getting inspiration from cli tools. I mean we can't even say there's a unifying language in the GUI space.
> The real big brain approach here is to divorce the idea of vim from the command line editor and use it as a plugin in an IDE
Maybe I'll be convinced when a vim plugin or "vim bindings" represents something close to actual vim. I need a lot more than hjkl, gg, gG and such for movements. It's crazy how few even have H,M,L let alone <C-F>, <C-B>. I'm really surprised so many don't have / bit less surprised at * and the like. An ide giving me vim bindings needs to also give me :Ex, tabs, tags, and so on. I don't think I've ever seen a plugin give me :%s and I'd be really surprised if it gave me \\{-}.
I think there's a lot of confusion when it comes to vim. It's an editor. Editors aren't just for writing and the real power of vim is editing. It's a major bonus that I can do all this with less resource consumption that just a plugin
Frequently using vim bindings in plugins leads to me generating gibberish.
Frequently using vim bindings in plugins leads me to unintentionally closing windows
Developers? If you can't read docs then you can't do your job.
I don't have much confidence in LLMs replacing devs, but if the dev is so arrogant that they think they're too good for documentation and if they have to read is too complicated, then yeah I believe AI can already replace that person. They were just a warm body, not a dev.
This isn't the flex you think it is. You're really illustrating my point... being able to understand context and make inferences is part of basic literacy skills
I'm sure you're being sincere here but this really reads like that famous HN comment about "who needs Dropbox when ftp exists". The reason vscode is popular is not because it does something impossible to do otherwise, but because it does those things out of the box with a friendly UI.
I think you missed the issue with the Dropbox comment. Look back at it. He talks about using Linux, FTP, curlftps, SVN, and doing a network mount.
The comment isn't actually even talking about providing the same service, so they mention emailing themselves files and usb drives.
The problem was there was a big technical hurdle to locally network mount a file system. Especially across OSes. It's even harder to do it non locally. Sure, it's not hard if you're familiar with that stuff. Sure, it's not hard to learn if you're comfortable in the terminal. Sure, today you can use rclone. BUT that's not a tool my grandma can use.
On the other hand, we're not talking about tools my grandma can use. We're talking about tools a programmer can use.
But we are programmers. I think there is a difference between expect John Accountant who doesn't trust his computer to set up RSync and a server, and a Programmer who is already going to spend a good chunk of their day in a terminal windiow anyways.
Dude I'm tired. Tired of having to learn some stupid new UI paradigm just because.
I really really wish there was ONE standard orthodoxy with regards to UI and how programs work and how we get around them.
Instead we have these clowns constantly inventing new ones. I love learning things and tweaking things but I have limited bandwidth and I am so over micromanaging my PC
For the record I know and love vi. But as I get older I find myself yearning more for the cathedral than the bazaar
> You can use a language server perfectly easily with Vim, Emacs, Helix, Sublime, etc.
By the way, the language server protocol was originally developed for VSCode [1]. The popularity of LSP in other editors might have contributed to advertise VSCode.
I used Sublime for years and VSCode is vastly better (the breaking straw was how they'd silo off critical bug fixes in new versions that were pay-only, upon finding vscode I felt silly for not switching sooner, it was so much easier to use and more powerful). Still use vim daily but not as a general IDE, memorizing decades of weird character commands and directives is not a great use of my time.
my favorite VSCode feature is the SSH remote working feature. VSCode gives me the full editing / console / Claude environment on my local workstation, where all files, shells, and yes Claude as well run on a company lab machine over the VPN. Props to the collaborative working feature where several people can all share the same VSCode editor session on their individual workstations.
Vim can do the above two things if you run as a terminal app with tmux. Sublime could do it if you shared the editor via X or Waypipe (well not the second feature). But VSCode integrates it directly in the app and it's a much better experience.
> But VSCode integrates it directly in the app and it's a much better experience.
Not for the admin of the server who has a bunch of idle vscode sessions. Sure, cli users do it too with tmux but the resource consumption is vastly different
I took a CS class in highschool the 2000s, this was about 2005 I think. The CS "teacher" had been teaching CS there for a decade I think. Which sure I think that I was lucky to have that class. But she was just a math teacher, if she had taken a computer science class, it was a single one 20 years prior in the 80s. She didn't really have any actual understanding of concepts and skipped some major parts of computer science even at that level (no concept of structs or objects or heap/stack in a C++ class).
Anyone that is a native European language speaker that hasn't tried to learn Chinese or some other tonal language, its really hard to understand how hard it is. The tones can really be very subtle, and your ear is not fine tuned to them. So you think you are saying it right, but native speakers have no idea what you are saying.
The tones are really not as difficult as people make them out to be.
90% of the effort in learning any language is just learning massive amounts of vocabulary.
Things like tone and grammar are the very basics that you learn right at the beginning.‡ Beginners complain about them, but after a few months of studying Chinese, you should be fairly comfortable with the tones. Then, you spend years learning vocabulary.
The two things that make Chinese difficult are:
1. The lack of shared vocabulary with Indo-European languages (this obviously doesn't apply if your native language is something with more shared vocabulary with Chinese).
2. The writing system, which because it's not phonetic requires essentially the same level of effort as learning an entirely new language (beyond spoken Chinese).
‡. The same goes for grammar issues (like declension and conjugation) that people always complain about when learning Indo-European languages. These are the very basics that you learn early on. Most of the real effort is in learning vocab.
>Things like tone and grammar are the very basics that you learn right at the beginning.‡ Beginners complain about them, but after a few months of studying Chinese, you should be fairly comfortable with the tones.
Disagree slightly with this- pronouncing the tones individually and getting to the point where you can be understood isn't too hard (well still hard), but combining them when speaking more quickly is more challenging, especially if you want it to flow nicely, and adding emphasis while maintaining the tones. Not that it's mandatory if you just want to understand/be understood, it depends on one's goals.
It's a common misconception that it's enough just to learn the tones and move on and it's very hard to find teachers who are able to help with more advanced pronunciation
I fully agree that a lot of the difficulty with the tones is in pronouncing them at pace, and in internalizing how they interact with one another.
However, this is still something that happens very early on when learning Chinese, and it takes nowhere near the same amount of invested time as learning thousands of vocabulary terms.
Yours is the first comment I strongly agree with; as a multilingual/bicultural Asian American, children don't have this supposed difficulty hearing tones.
Most of it is passively paying attention. It should not be a struggle, it's one of those the more you struggle and overintellectualize the less time you are focusing on paying attention and letting your hearing ability do its work it was evolved to do.
The other thing is this whole emphasis on accents is misdirected. Teachers do not place this excessive emphasis on accents, it is people who want to sound "authentic" which is not a very wise goal of language learning in the first place.
I do think that learning music can help a little, especially a sonically complex instrument like violin and the like.
(caveat: I'm way oversimplifying on my Saturday afternoon, but that's my tentative views on this that I would try to argue for.)
I've seen people struggle to pronounce a word when I explicitly tell them what tones it contains, but then pronounce it perfectly when I ask them to just imitate me.
But I disagree about accents. One of the major flaws in most foreign language education, in my opinion, is that pronunciation is not emphasized heavily enough at the beginning. Being able to pronounce the basic sounds correctly has a huge impact on how native speakers perceive your language skills, even if you're not very advanced in the language.
> Being able to pronounce the basic sounds correctly has a huge impact on how native speakers perceive your language skills, even if you're not very advanced in the language.
That's true, but it counsels against trying to develop better pronunciation early.
If you sound like a native despite having just started to learn the language, people will naturally conclude that you are mentally retarded.
> 2. The writing system, which because it's not phonetic requires essentially the same level of effort as learning an entirely new language (beyond spoken Chinese).
This is an interesting observation. Another one that I sometimes mention to my friends who didn't have an occasion to learn Chinese before is that in this language speaking, reading and writing are actually 3 separate components. You can read characters without knowing how to write them properly or even remembering them entirely. Lots of my Taiwanese acquaintances forget how to write certain characters, because nowadays most of the text they write is in bopomofo on their phones. Bopomofo represents sounds, so basically knowing how an expression sounds and being able to read the character (pick it from a set of given characters for the chosen sound) is enough to "write" it.
Learning 10,000 words is objectively more difficult than getting used to tones.
You can get used to the tones in a relatively short amount of time. If you are in an immersive environment for a month or two, you will end up wondering how it is that anyone can't hear the tones.
In contrast, there is simply no way to memorize thousands of words in that timeframe.
As a native Mandarin speaker, I always think the most difficult feature in English (and a few other European languages, like French) are the rich vowels. Like done vs down, beat vs bit, trailing dark l vs -ou/-u sound, and frequent vowel reduction in speech. Even worse, different English dialects randomly shift vowels (maybe like how Mandarin dialects use different tones). Neither my ear nor my mouth is tuned. From Wikipedia "English phonology":
> The number of vowels is subject to greater variation; in the system presented on this page there are 20–25 vowel phonemes in Received Pronunciation, 14–16 in General American and 19–21 in Australian English.
Native English speakers, if they are not teachers, tend to underestimate the challenge. I see YouTube videos that the western Chinese learner hypothesizes Spanish is most difficult for Chinese to learn because of the RR consonant -- I learned Spanish casually for a few years and I disagree. RR is difficult to pronounce, but I can clearly hear it and I won't confuse it with a different sound. In contrast to English, Spanish vowels are so easy.
Spanish is such a blessing as mispronouncing a word rarely changes the meaning.
Whereas in Chinese or to a lesser degree English, you have to very mindful on how you pronounce stuff.
As a native Spanish speaker the thing I dread the most is grammar and the absurd amount of verbal times there are. Even native speakers don't speak with perfect grammar.
Agree. It’s really hard. It also explains why a lot of people born in China tend to make serious pronunciation errors when speaking English or German. They are used to focus on different things than us westerners.
It took me very long time to really understand how impersonating tone is in Chinese.
The reason why Chinese people have difficulty pronouncing Indo-European languages is that Chinese has a very limited set of syllables, and they always follow the pattern (consonant) + vowel + (nasal/rhotic consonant), with possibly one of the consonants being dropped.
Chinese does not have clusters of consonants like "rst" in "first." The closest thing in Chinese phonology to "first" would be something like "fi-re-se-te." If you grow up never pronouncing consonant clusters, they are incredibly difficult to learn.
This is all related to the existence of tones, but tones are not the direct reason why Chinese people have difficulty pronouncing words like "first." Tone provides one additional way of differentiating syllables, so Chinese can get away with having far fewer syllables than non-tonal languages. You essentially get 4-5 different versions of every syllable.
> This is all related to the existence of tones, but tones are not the direct reason why Chinese people have difficulty pronouncing words like "first."
Actually they kind of are. The tonal system of modern Chinese dialects developed from voiced initial constants of syllables. Old Chinese (Han dynasty and older) might not have been a tonal language altogether. Many linguists think that they developed from final consonants that have since disappeared, and before that happened, yes, Chinese would have had (some) consonant clusters. But still nothing like essentially free-form syllables like other language families.
They're indirectly related to the difficulty Chinese native speakers have with learning to pronounce Indo-European languages, in that the tones developed as Chinese syllables became more simple and restricted.
I'm a native Russian speaker, and I decided to learn Mandarin, because it's linguistically almost the opposite of Russian.
I had no problems with tone pronunciation, but tone recognition was indeed much trickier. I still often get lost when listening to fast speech although I can follow formal speech (news) usually without problems.
I recently started learning a tonal language, and so far have not struggled too much wrt tones when everything is slow. There was an original strangeness and refusal for my vocal cords to want to work that way, but probably only for the first month or so.
At least, this is the case for slow text. Once the text is sped up it’s amazing how my brain just stops processing that information. Both listening and speaking.
I’m sure this will come with practice and time but for now I find it fascinating
Are you studying a language with contour tones or with high/mid tone distinction? I tried to study a bit of Thai, and the high/mid tone distinction was a complete show-stopper for me.
For someone who hasn't grown up speaking an language with tones or pitches, the process of learning them can be maddening. I applaud anyone who makes tools like this to try to make the process easier.
My experience in learning Japanese pitch accent was eye-opening. At the start, I couldn't hear any difference. On quizzes I essentially scored the same as random guessing.
The first thing that helped me a lot was noticing how there were things in my native language (English) that used pitch information. For example, "uh-oh" has a high-low pitch. If you say it wrong it sounds very strange. "Uh-huh" to show understanding goes low-high. Again, if you reverse it it sounds unusual.
The next part was just doing lots of practice with minimal pairs. Each time I would listen and try my best to work out where the pitch changed. This took quite a lot of time. I feel like massed practice (many hours in a day) helped me more than trying to do 10 minutes regularly. Try to hear them correctly, but don't try too hard. I didn't have any luck with trying harder to 'understand' what was going on. I liken it to trying to learn to see a new color. There isn't much conscious thought.
The final piece of the puzzle was learning phrases, not individual words, that had pitch changes. For example: "yudetamago" could be boiled egg or boiled grandchildren. Somehow my brain just had a much easier time latching on to multi-word phrases instead of single words. Listening to kaki (persimmon) vs kaki (oyster) again and again seemed much harder.
Of course, your mileage may vary with these techniques. I already spoke decent Japanese when I started doing this.
> For example, "uh-oh" has a high-low pitch. If you say it wrong it sounds very strange. "Uh-huh" to show understanding goes low-high. Again, if you reverse it it sounds unusual.
Wow… Thanks for making it clear that English also has tones! I hadn’t thought of it this way before. “Uh-huh” sounds similar to Mandarin tones 3 & 2. “Uh-oh” is similar to Cantonese tones 1 & 3.
I’m wondering if we can find good examples to teach the Mandarin tones. I think two or three syllable words are best because it illustrates the contour of the tones.
Pitch levels are important enough in English that native speakers spontaneously develop ways to write them down, even though the standard written language has no way to indicate them.
However, they operate at the level of the sentence rather than the individual word, which sets up a conflict if an English speaker wants to learn Chinese.
The most common uses of pitch in English are to annotate the grammatical structure of a sentence, making it clear which words belong together in larger phrases, and to mark yes/no questions.
English does have one clear example of lexical tone, the "I don't know" word, which is pronounced very similarly to the Mandarin pinyin éēě. (If pronounced with the mouth open. With the mouth closed, it would be more like 嗯嗯嗯 in the same 2-1-3 tone sequence.)
Wholeheartedly (or maybe downheartedly?) agree with this - sometimes I try to say the simplest things and people just stare at me like I'm speaking Martian. Which I suppose I might as well be! One of my big problems is implicit use of tones for things like expressing uncertainty; that's a very difficult habit to get out of.
Another one that I wish I had realized sooner is that, contrary to the impression teachers tend to convey, tones aren’t just a pitch contour thing. There are also intensity and cadence elements. Native speakers can fairly accurately recognize tones in recordings that have had all the pitch contour autotuned out.
From a language learning standpoint that does make sense. Over-exageration while you are learning to help cement the idea, and then when you are speaking more naturally you will fall back into a regular kind of tone.
As someone that mostly plays relatively niche games, I love DLC. I went from getting a game, then an expansion if I am lucky to getting a game with constant development for 10 years. Ill happily pay $10-20 for my favorite niche sandbox games to give me another 100 hours of play time.
> There are many companies making money off alcohol addiction, video game addiction, porn addiction, food addiction, etc. Should we outlaw all these things?
They were right. We have largely had 200 years of socially and legally enforced morality being eroded with the conservatives saying "If you remove X then Y and Z will happen!". The liberals saying "Why do you care anyways? That's a slippery slope it won't happen!". The the conservatives immediately being proven right, but no one is willing to walk back on liberalization of moral issues since too many like hedonism.
That only assumes that nothing else changed in society at the same time. Is all this happening because men saw some ankles? Or is it a symptom of other changes in society (like more individual freedoms and rights, more education, etc)
Targeting DirectX and Win32 has become targeting Linux with how good Wine/Proton have gotten. I am able to play brand new games with no Linux support absolutely perfectly through proton. These games run better than games that had linux support actually ran on linux.
Ironically, Win32 has sometimes become more universal than native Linux binaries. For example, Baldur's Gate 3 released a native Linux version only supported on the Steam Deck, whereas the Proton version is verified for Linux almost everywhere. Win32 became the stable Linux gaming ABI.
Same with warhammer, where the developers are claimed to make an actual effort to support Linux with native binaries, but the windows version are more stable than the native Linux version. Ironically.
When I played Hollow Knight some years ago on my Steam Deck, I had to switch to the Windows version under Proton because the Linux native version was giving me random graphical glitches that made it impossible to see what was going on until I moved to a different screen and came back.
You're assuming no game studio would test their windows executable on proton, just because they develop on Windows. If there's non-trivial market share to capture by being "Deck verified" I don't see why that would be the case. Game devs develop on Windows for PlayStation, Switch, mobile etc. At least with proton they don't even need to cross compile.
Microsoft test on and make considerations for Proton for a bunch of their releases. Sony do too. Cyberpunk has specific graphics presets, Baldurs Gate 3 has a native executable, indie games often do too.
There's outliers, it'd be fair to say EA don't give a damn. But a lot do and you can't handwave away Microsoft and Sony as small fish either.
I wouldn't go that far, I would suggest that any game studio interested in the next 10 years of PC gaming will need to at least start doing testing through Proton/Wine to ensure there's no clear/prominent bugs. It doesn't take a lot of vocal users to elevate or kill a game, and Linux usage has passed that mark at this point... Generally seismic shifts in politics are around the 8% mark in terms of overall population, and Linux usage in the Steam survey is close to 4% and some other metrics have Linux usage over 6%.
Literally half the gaming/hardware focused channels I watch have run at least one, if not several Linux Gaming videos and tests this past year... mostly in the past 4 months and mostly praising the state of Linux gaming. It's not going away.
> Thus making Linux irrelevant as target to game studios.
For them DirectX and Win32 is what matters
I don't think so. I rather do believe that many game developers would actually love to give a more native approach for writing GNU/Linux games a try (to make this point more plausible: game developers are very used to game-console-native SDKs).
But what these game developers really demand is a very stable user-space API for everything that is necessary for writing games, which will work reliably on basically every GNU/Linux distribution, and will be supported for at least 20 years.
https://github.com/EvanLi/Github-Ranking/blob/master/Top100/...
proof here. The top are taken by chinese educational repos. Elastic Search and Spring Boot are the only projects actually used by anyone in the top 10. But why would I trust the stars for spring boot over the fact its used in every java shop on the planet?
reply