Wątek przeniesiony 2023-02-05 15:16 z Hardware/Software przez Riddle.

Dlaczego VS Code został napisany z użyciem powolnego frameworka?

1

To jest coś, czego czasami nie rozumiem w naszym nerdowym światku. Microsoft tworzy naprawdę znakomity edytor kodu, ale przy wyborze technologii wykazuje się kompletnym egoizmem. Edytor tekstu to oprogramowanie, gdzie każda milisekunda opóźnienia znacząco degraduje komfort pracy. Nie powinno się w ogóle czegoś takiego jak Electron brać pod uwagę przy tworzeniu edytora tekstu.

W przesiadce z Sublime Text to mnie najbardziej zabolało. VS Code jest po prostu irytująco powolny. Nie ma tragedii, ale te wszędobylskie mikrolagi po prostu denerwują i zakłócają flow pracy. Czy jestem odosobniony w moich odczuciach? Czy Was też lagi tak rozpraszają, czy tylko ja tak mam?

1

Ponieważ został napisany w TypeScript którego wymyślił Microsoft.

3
bearek napisał(a):

To jest coś, czego czasami nie rozumiem w naszym nerdowym światku. Microsoft tworzy naprawdę znakomity edytor kodu, ale przy wyborze technologii wykazuje się kompletnym egoizmem. Edytor tekstu to oprogramowanie, gdzie każda milisekunda opóźnienia znacząco degraduje komfort pracy. Nie powinno się w ogóle czegoś takiego jak Electron brać pod uwagę przy tworzeniu edytora tekstu.

Przecież VSCode raz, że jest za darmo, dwa, że nie trzeba z niego korzystać.
Masz inne opcje, jeśli zależy ci na szybkości:

  • Sublime
  • Vim
  • Notepad++ (Windows)
  • pewnie jeszcze parę (np. jest coś takiego jak Lapce napisane w Rust, chociaż tylko odpaliłem to, ale nie korzystałem finalnie)

Nie powinno się w ogóle czegoś takiego jak Electron brać pod uwagę przy tworzeniu edytora tekstu.

to możesz napisać swój. W sensie nie chcę być złośliwy, raczej zwracam uwagę na to, że jeśli coś ci się nie podoba w istniejących narzędziach i uważasz, że zostały źle zrobione, to możesz zrobić własne narzędzia. Trochę w duchu "inventing on principle" Breta Victora, trochę w duchu Jona Skinnera, który tworząc Sublime miał pewną wizję, jak to powinno wyglądać https://www.sublimetext.com/blog/articles/2007/11

Electron

Electron:

  • pozwala na pisanie w JS/językach które się kompilują do JS
  • pozwala na używanie HTML/CSS (i moim zdaniem HTML/CSS jest większą zaletą od możliwości pisania w JS, bo pisać logikę można w czymkolwiek, ale to HTML/CSS jako uniwersalny język do opisu GUI wydaje się największą zaletą - nie trzeba korzystać z natywnych kontrolek ani wybierać jakiejś zopiniowanej platformy do GUI, tylko używa się tego, co dobrze znane ludziom na całym świecie, a silnik przeglądarki zadba o to, żeby to dobrze wyglądało)
  • jest wieloplatformowy (nie on jeden, ale mimo wszystko jest to jedna z opcji, która pozwala na łatwą wieloplatformowość)
  • nie jest to jedyna platforma do tworzenia apek desktopowych w HTML/CSS/JS, ale najpopularniejsza, co ma zalety

Więc nie dziwne, że firmy wybierają Electrona. Tym niemniej jeśli się z tym nie zgadzasz, to myślę, że najlepiej albo stworzyć własny edytor, albo stworzyć forka VSCode, który działa na czymś innym niż Electron.

4

Nie brałem udziału w pracach programistycznych nad VS Code ale moim zdaniem decyzja o wyborze Electrona była podyktowana multiplatformowoscia w tamtym czasie. Zauwaz że VS Code działa jako aplikacja desktopowa oraz w webie. Gdyby napisali to w jakimś desktopowym frameworku to musieli by pisać druga apteka dla weba.

Z tego samego powodu w Electronie jest napisane Draw.io (desktop) aka diagrams.net. (web). Dzięki temu masz jedna aplikację i jeden kod który działa tu i tu.

3

@locke:

Ale czy TypeScript jest dużo wolniejszy od Jetpack Compose i Fluttera? To obecnie chyba konkurencja do tworzenia nowoczesnych przenośnych i multiplatformowych aplikacji?

Popatrz na rok w którym został napisany VS Code. Wtedy nikt nie brał na poważnie Fluttera ani (chyba) nie było czegoś takiego jak Jetpack Compose. Piszę chyba bo nie śledzę tej technologii dokładnie, a nie chce mi się sprawdzać dat. W tym czasie Electron miał ugruntowaną pozycję na rynku. To że później powstały szybsze frameworki to standard w branży. Nikt nie będzie co 2 lata przepisywał aplikacji tylko dlatego, że powstał jakiś nowy framework.

3

Nie dostrzegam tych opóźnień , gdzie ich wypatrywać ?
Może to już taki wiek :D

Moim skromnym zdaniem najlepsze IDE do C++

0

Z punktu widzenia firmy wieloplatformowych jaką zapewnia Electron + web to czysta kasa, można sobie pozwolić na wolniejsze działania (ja go nie odczuwam w VSC), choć nie są złe.
Zbuduj sobie teraz komunikator np: Slack, Teams, czy chociazby Spotify?
Front -> Zespól JS
Windows -> Jakiś .net ? czy coś innego (QT)
Mac OS -> Swift/Objective C
Linux (nie wszyscy) -> Dochodzi QT lub GTK.

Cały dział IT :) zamiast dwóch zespołów.

Plus świat idzie w kierunku WEB, wiec wszystkie narzędzia tak naprawdę powstają w tym bo się sprawdziło i są programiści którzy to robią :)
Ba... w nowym Win 11 edytor do Video to też JS...
Nikt nie robi tego dla Idei... kasa się liczy i tak będzie.

A Flutter dalej jest nowy, mało popularny i nie wiem czy powstają w ogóle jakieś appki desktopowe?

6

VSCode jest powolny? Odpal sobie Hello World w Visual Studio z Resharperem to się dowiesz co to życie

3

To nawet nie Microsoft. Prekursorem byl Atom stworzony przez GitHuba. Tak chyba nawet powstal Electron zreszta. Poza tym co z tego, ze Sublime jest szybki skoro w duzym projekcie jest uposledzony? Jest taki szybki bo ma tylko jakies podstawowe funkcje.

Swoja droga, skoro ST jest taki z**y to czemu sie przesiadles? :D

3

bo nikt już nie pisze natywnych aplikacji jak nie musi. Szczególnie, że programiście z wielką niechęcią płacą za narzędzia.

1

Szczerze mowiac jesli oceniamy VSCode w 2023 a nie w 2012 roku, to ja nie widze zadnych problemow z wydajnoscia.
Pamietam, ze w 2012 roku mialem PC z procesorem i3 2125 2c4t i pod wzgledem mocy obliczeniowej byl to procesor wystarczajacy, ale nic wolniejszego bym wtedy nie zalecal do pracy z VSCode. Natomiast waskim gardlem bylo uruchamanie z dysku twardego (klasyczny talerzowy). Obecnie od wielu lat chyba malo kto uzywa HDD jako dysku systemowego, nawet na slabym starym SSD 2,5" pod SATA-2 roznica w wydajnosci jest kolosalna.

Byc moze autor watku pracuje wlasnie na takim starszym komputerze?

0

Co do Electrona, to zabawne, że VScode i tak jest szybszy od Atoma, który też był robiony na Electronie.

Widocznie to nie tylko kwestia Electrona.

0

Możliwe że to była najsensowniejsza opcja na crossplatform wtedy, a może w dodatku była to część większego "beta" na przeniesienie środowisk developerskich do przeglądarki

Miałem okazje chwilę korzystać z takiej "maszynki" gdzie łączysz się z przeglądarki do vscoda i może jest w tym jakiś sens. Nie mam opinii bo niezbyt długo z tego korzystałem, ale na pewno jest to ciekawe.

A jaka inna tech pozostaje do zrobienia takiego crossplatform?

1

Bo nowe pokolenie programistów jest zbyt głupie, żeby zrozumieć jak działa ręczne zarządzanie pamięcią. Gdyby mogli, to nawet mikrokontrolery programowaliby w javascript.

4
bustard napisał(a):

Bo nowe pokolenie programistów jest zbyt głupie, żeby zrozumieć jak działa ręczne zarządzanie pamięcią. Gdyby mogli, to nawet mikrokontrolery programowaliby w javascript.

Przecież można. Czyżby stare pokolenie było zbyt głupie, aby o tym wiedzieć? ;)

1

Korzystam z VS code od wielu lat do c, c++, go, pythona i nie widzę lagów. Jesteś pewien, że to wina gui VS code, a nie serwera języka z którego korzystasz albo zainstalowanych rozszerzeń?

0
bearek napisał(a):

Czy jestem odosobniony w moich odczuciach? Czy Was też lagi tak rozpraszają, czy tylko ja tak mam?

Tylko ty tak masz :)
A serio, to gdzie widzisz te lagi w VS Code? Na jakim sprzęcie go uruchamiasz? Z jakimi dodatkami?

1

Swoją drogą, pracuje już ktoś z Jetbrains Fleet i chciałby podzielić się swoimi odczuciami? Jak 2-3 miesiące temu go próbowałem to zarzynał mi CPU i jestem ciekaw czy ta i szereg innych jego wad zostały już wyeliminowane

2

Dlaczego użyli do tego celu electrona? Z wygody i oszczędności, napiszą raz a uruchomią wszędzie. Po co się wysilać, optymalizować, teraz każe się kupować szybsze komputery. Taki biznes.
Electron ma swoje zalety ale ma też wady bo to wielka krowa. Kilka takich aplikacji odpalonych i RAM zapchany.

6

Dlaczego VS Code został napisany z użyciem powolnego frameworka?

Bo aplikacja, zajmująca się przetwarzaniem tekstu jest na tyle trywialna dla sprzętu którym zazwyczaj dysponują programiści, że ta powolność zazwyczaj jest nie odczuwalna, więc była to dobra okazja by dać programistom JS się wyżyć wmawiając im, że robią coś poważnego.

4

Bo gdyby był pisany w czymś innym to nie byłby "znakomitym edytorem kodu" bo nie byłby tak łatwo rozszerzalny, a developerzy musieliby tracić czas na zarządzanie pamięcią, multiplatformowość, bezpieczny system pluginów itp. Wydajność jest akceptowalna jak na edytor tekstu do większości zastosowań. Wydaje mi się dobrym wyborem technologii jak na tamte czasy. Powstało dużo szybszych edytorów, czemu ich nie używasz?

1 użytkowników online, w tym zalogowanych: 0, gości: 1