Czy daleko zajdę bez IDE jeśli chodzi o programowanie w Pythonie? Czy Neovim lub Emacs nadają się do pisania poważniejszych rzeczy niż proste skrypty do automatyzacji? Chcę programować backend i programy do automatyzacji różnych tasków
Czy do programowania potrzebne jest IDE?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 228
- Rejestracja: dni
- Ostatnio: dni
- Postów: 101
Najważniejsza jest przede wszystkim Twoja wygoda i szybkość działania. Ja do pythona używam po prostu Visual Studio Code, który jest edytorem kodu, a nie IDE, bo piszę głównie małe skrypty na jeden plik, a do tego pełne IDE to trochę przerost formy nad treścią :)
Ale do pełnoprawnych projektów, takich jak właśnie backend do jakiegoś API, warto jednak używać większego programu, a raczej takiego, który wiele rzeczy jest w stanie zauważyć jeszcze podczas pisania - wszelkie literówki, błędy typów (jeśli używasz type hinting), itd. Ważne też jest uzupełnianie składni i podpowiadanie nazw zmiennych i metod. Może to być IDE, ale nie musi - czasami wystarczy wtyczka do edytora.
Ale zawsze możesz spróbować PyCharma. Wydaje mi się, że jest to najpopularniejsze IDE dla Pythona, a poza tym jest darmowe (dla celów niekomercyjnych) i działa też na Linuxie :)
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Kraków
- Postów: 672
Jak najbardziej możesz zajść daleko bez IDE. Osobiście mnie nawet irytują takie środowiska, gdy napotykam je w technikum i nie ma czasu na zmianę ustawień. Irytuje mnie np. to, że same pojawiają się nawiasy zamykające, cudzysłowy, a nawet znaczniki zamykające (w HTML) przez co nie mogę wpisać tego, co wiem, że chcę napisać na pełnej szybkości wpisywania tylko muszę reagować na wstawione przez edytor elementy. Gdy wyskakują okienka IntelliSense to nie mogę użyć strzałek w dół ani w górę w normalnym znaczeniu, więc przestawienie kursora do innego wiersza wymaga wtedy sięgnięcia po mysz.
Zupełnie obiektywnie poleciłbym poznawanie nowych funkcji poprzez czytanie samej dokumentacji, a nie IntelliSense, ponieważ wtedy nie ominą Cię żadne potencjalnie ważne uwagi, które autor dokumentacji chce przekazać. Nie da się zawrzeć wszystkiego w nazwie funkcji, nazwach parametrów i krótkim komentarzu. Zakładam przy tym, że ucząc się Pythona chcesz się go nauczyć porządnie i masz na to czas.
bbhzp napisał(a):
Najważniejsza jest przede wszystkim Twoja wygoda i szybkość działania.
Gdy musimy zdążyć do terminu oddania projektu to tak, ale wygląda na to, że autor wątku dopiero się uczy.
bbhzp napisał(a):
Ja do pythona używam po prostu Visual Studio Code, który jest edytorem kodu, a nie IDE, bo piszę głównie małe skrypty na jeden plik, a do tego pełne IDE to trochę przerost formy nad treścią :
Tak zaawansowany edytor jak VSC uznałbym za IDE. Ma bardzo dużo cech IDE, a już na pewno po zainstalowaniu wtyczki właściwej dla języka programowania powstały system stanowi IDE i wybór między nim a np. PyCharm to już kwestia techniczna.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 228
Czy lepiej zacząć pisać pierwsze programy w IDE a dopiero później poznawać takie narzędzia jak vim/neovim czy bez znaczenia?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 7034
Dziwne pytania zadajesz...
Coś na zasadzie: czy pozwalacie mi używać pralki automatycznej, czy najpierw powinienem dobrze opanować pranie ręczne?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 228
Dobrze to sam podejmę decyzję. Zainstaluję tego PyCharma, do niego skłania mnie integracja narzędzi i chęć zaoszczędzenia czasu. Neovimem zajmę się później
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1070
Granica pomiędzy IDE a edytorem jest sztuczna w dzisiejszych czasach, bo każdy szanowany edytor może być IDE
Co do samych ficzerów: nawet jak nie chcesz ich używać to warto je znać, żeby wiedzieć co tracisz. Jak dla mnie go to definition , find references i podstawowe refaktory są konieczne do produktywnej pracy.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Silesia/Marki
- Postów: 5608
w obecnym zespole jestem prawdopodobnie ostatnim który używa idea intellij. wszyscy przeszli na VSC. zastanawiam się kiedy sam będę musiał przejść
btw jak chodziłem po meet upach to czasem spotykałem użytkowników neovim i w większości wyglądali jak bohaterowie pasty : mój stary jest fanatykiem neovima: cały dom zawalony manualami, na święta kupił sobie dedykowaną klawiaturę do pisania w vimie z większym escape. Po czym wyciągali swoje dedykowane klawiatury z plecaków i opowiadali mi o tym ile mają klawiszy i ile funkcyjnych i co za funkcje tam zaprogramowali. Przez chwile sam myślałem żeby nie dołączyć do tej "sekty" ale ostatecznie wróciłem do szermierki i teraz wydaję kasę na rapiery a nie dedykowane klawiatury do pisania w vimie
Podsumowując : jak masz "edytor kodu" z dobrą konfiguracją wtyczek to pewnie nie ma sensu zmieniać. Jak nie chce ci się konfigurować i doktoryzować to ide może być łatwiejsze na początek. Ale uczyć się najpierw jednego a potem drugiego to trochę strata czasu i problem z ogarnięciem dwóch różnych zestawów skrótów. Ja teraz w idea intellij jestem rozwalany przez to że idea intellij ma inne skróty na macu a inne na windowsie/linuksie
- Rejestracja: dni
- Ostatnio: dni
- Postów: 3349
Do programowania w prawie każdym języku programowania wystarczy ci:
- edytor tekstu
- kompilator / interpreter
IDE nie robi cudów, nie daje super mocy. Najzwyczajniej ma w sobie ten edytor tekstowy z dodatkowymi bajerami jak kolorowanie kodu, podpowiadanie składni, czasami sprawdzanie błędów składniowych. Dodatkowo ma schowane pod swoimi guzikami różne przydatne komendy, więc zwykle wystarczy kliknąć "Run", zamiast pisać jakąś komendę w terminalu.
Przy rozpoczynaniu programowania w dowolnym języku, ja osobiście polecam napisać w dowolnym edytorze tekstu prosty program na poziomie hello world i uruchomić go za pomocą tych komend. Jedynym celem tego ćwiczenia jest poznanie tych podstawowych narzędzi i zrozumienie co później robi IDE,
Jak przejdziesz to raz, to używasz narzędzi, które wspomagają twoją efektywność, oszczędzają czas i zwalniają z pamiętania różnych zbędnych detali. Wiesz, że są, wiesz z grubsza za co odpowiadają i koniec historii. Podobnie jak zapalając gaz pod garnkiem możesz użyć krzesiwa, zapałek, zapalarki, albo wbudowanego w kuchenkę iskrownika. Nie ma znaczenia czego użyjesz, bo efekt końcowy będzie identyczny (płonący palnik), ale iskrownik w kuchence będzie wygodniejszy, szybszy i bezpieczniejszy niż inne metody.
Podsumowując, to, czy użyjesz Notatnika, VIM'a, EMAC's, VS Code, Jakiegoś specjalizowanego narzędzia, nie będzie miało znaczenia dla efektu końcowego, ale używając IDE, osiągniesz ten efekt szybciej. Kosztem jest konieczność nauczenia się tego co IDE oferuje.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1065
whiteman808 napisał(a):
Czy Neovim lub Emacs nadają się do pisania poważniejszych rzeczy niż proste skrypty do automatyzacji?
Znam ludzi którzy używają tylko Emacsa i widziałem, że mając opanowane skróty/konfigurację i pewnie rozszerzenia to można wymiatać. Ja ze dwa razy próbowałem do niego podchodzić, ale jakoś zabrakło mi zapału.
- Rejestracja: dni
- Ostatnio: dni
Do dobrze napisanego projektu, na ogół IDE nie jest potrzebne. Do źle napisanego to zależy od języka. Do gównokodu typu spaghetti w Javie IDE się przydaje. Do mniej rakotwórczych języków niekoniecznie. Python akurat nigdy mnie nie skłonił do tak radykalnych kroków jak używanie IDE.
Dlaczego IDE to dla mnie radykalny krok? Powody są dwa:
- olbrzymi cognitive load: przy mojej koncentracji preferuję widzieć jedną rzecz na raz i móc łatwo prześledzić historię zmian (dlatego terminal FTW).
- Na ogół rozumiem co robię i na ogół wiem jak to szybko zakodować. Tak więc szukanie jak robić coś w IDE, przeważnie w przekombinowany sposób, często żeby dowiedzieć się, że mój przypadek nie został wzięty pod uwagę przez twórców. Tak więc IDE boli, chociaż muszę przyznać, że odkąd są LLMy jest to bardziej znośne.
Jeśli te powody nie wydają ci się znajome, prawdopodobnie IDE to wybór dla Ciebie. :)
- Rejestracja: dni
- Ostatnio: dni
IDE to po prostu edytor kodu ze wszystkim co jest przydatne do developmentu w jednym miejscu, to może być zwykły edytor tesktu + mnóstwo pluginów albo gotowe środowisko.
Moim zdaniem ludzie którzy mówią że szybciej coś zrobią w emacsie / vimie / notepad++ / copy con to autystycy którzy wykuli wszystkie możliwe skróty klawiaturowe na pałę, nie ma szans żeby szybciej coś zrobić w czystym edytorze tekstu niż w dobrze skonfigurowanym IDE; skrótów możesz się nauczyć w każdym IDE.
No chyba że po prostu twój komputer nie ogarnia, albo tak jak wcześniej - masz autyzm i rozkojarza cię zbyt wiele bodźców / elementów na ekranie (choć można je też po prostu poukrywać i używać tylko tego co potrzebujesz). Osoby z autyzmem łatwo się przebodźcowują i często nie mogą nawet słuchać muzyki podczas pracy.
Tak więc tak, podsumowując moim zdaniem i nie próbując nikogo urazić jedyne dwa przypadki w których mógłbyś nie chcieć IDE to a) słaby komputer b) mocny autyzm
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2
Bez IDE daleko nie zajdziesz, musisz miec wypasione IDE ktore teraz z AI samo ci podpowiada kod i w zasadzie w tych czsach wiecej kopijemy kodu z AI do IDE niz piszemy go sami. Dlatego musisz miec super IDE, to nie czasy gdzie wystarczyl NOTPAD od windowsa
- Rejestracja: dni
- Ostatnio: dni
- Postów: 269
obscurity napisał(a):
Moim zdaniem ludzie którzy mówią że szybciej coś zrobią w emacsie / vimie / notepad++ / copy con to autystycy którzy wykuli wszystkie możliwe skróty klawiaturowe na pałę, nie ma szans żeby szybciej coś zrobić w czystym edytorze tekstu niż w dobrze skonfigurowanym IDE; skrótów możesz się nauczyć w każdym IDE.
Nawet jeśli przyjmiemy Twoje założenie, że preferowanie zwykłego edytora to autyzm, to w dyskusji należałoby uwzględnić, że wiele osób na tym forum ma ten autyzm niezdiagnozowany, może pytający też, więc odpowiedź prawidłowa dla osób autystycznych, jest tutaj na forum jak najbardziej przydatna. Ja osobiście nie używam IDE, przy czym nie uważam że bez IDE jest szybciej - uważam że jest niewiele wolniej, a jednocześnie mam sprzężenie zwrotne, które informuje mnie wcześniej niż gdybym z IDE korzystał, że zrobiłem coś w sposób zbyt zagmatwany. Uważam że brak użycia IDE jest w dłuższej perspektywie korzystny. A żadnych szczególnych skrótów klawiszowych nie używam i się nie uczę - na tle sumy czasu przeznaczonego na tworzenie oprogramowania, wejście do katalogu i wpisanie z klawiatury "make", to żaden koszt.
[...]
Tak więc tak, podsumowując moim zdaniem i nie próbując nikogo urazić jedyne dwa przypadki w których mógłbyś nie chcieć IDE to a) słaby komputer b) mocny autyzm
Niestety Twoja wypowiedź wskazuje, że właśnie próbujesz urazić osoby z przeciwnym zdaniem i w ten sposób zniechęcić je do wypowiadania się.
- Rejestracja: dni
- Ostatnio: dni
obscurity napisał(a):
Moim zdaniem ludzie którzy mówią że szybciej coś zrobią w emacsie / vimie / notepad++ / copy con to autystycy którzy wykuli wszystkie możliwe skróty klawiaturowe na pałę, nie ma szans żeby szybciej coś zrobić w czystym edytorze tekstu niż w dobrze skonfigurowanym IDE;
Myślę, że istnieje wysoka korelacja między spektrum/ADHD, a używaniem prostych edytorów. BTW. w tej branży to raczej atut jest, jeśli się ogarnie umiejętności interpersonalne. Jednak uwaga dot. skrótów wynika z niezrozumienia sposobu rozumowania osoby w spektrum (w domyśle, która ogarnia kodowanie). Osoba w spektrum często jest strasznie ciekawska i lubi wiedzieć jak co działa i kontrolować cały proces. Będzie uporczywie dążyć do optymalnego procesu, który będzie rozumieć i swobodnie modyfikować. Wartość, którą wnosi IDE to właśnie brak konieczności kontrolowania procesu. Po prostu klikasz i masz. Tylko dla osoby w spektrum to często żadna wartość, bo to psuje całą zabawę i nakłada niepotrzebne ograniczenia. Z drugiej strony, jak się kontroluje cały proces to z czasem ten optymalny proces pracy z kodem okazuje się zupełnie odmienne od tego co proponuje IDE. Ja w każdym razie uważam, że 90% funkcjonalności IDE to obchodzenie problemów powstałych z powodu niekompetencji i braku dyscypliny. Nuda. Warta wiele tysięcy dolarów, ale wciąż nuda. Kwestia priorytetów w życiu. Dla kogoś kogo nie jara programowanie i po prostu chce zarobić, nie ma sensu za bardzo się starać i robić cudów na kiju.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 538
Ja jako autysta nienawidzę zmian, a że od początku uczyłem się robić wszystko w IntelliJ (łacznie z obsługą gita) to mam dzień zepsuty jak ktoś mi każe odpalić cmd i wpisać git pull xD
- Rejestracja: dni
- Ostatnio: dni
Troll anty OOP napisał(a):
nie uważam że bez IDE jest szybciej - uważam że jest niewiele wolniej, a jednocześnie mam sprzężenie zwrotne, które informuje mnie wcześniej niż gdybym z IDE korzystał, że zrobiłem coś w sposób zbyt zagmatwany. Uważam że brak użycia IDE jest w dłuższej perspektywie korzystny.
w jaki sposób? To właśnie IDE daje natychmiastowe sprzężenie zwrotne i informacje o błędach często jeszcze przed kompilacją
A żadnych szczególnych skrótów klawiszowych nie używam i się nie uczę - na tle sumy czasu przeznaczonego na tworzenie oprogramowania, wejście do katalogu i wpisanie z klawiatury "make", to żaden koszt.
no zależy w jaki sposób się pracuje, na przykład uprawiając TDD do tego katalogu byś wchodził po kilkadziesiąt razy i po co to pisać jak można nacisnąć jedno F5 / F9. Zresztą nikt nie każe, możesz mieć zwykły terminal otwarty w jednym z miejsc w IDE i używać go tak samo jak wcześniej - po prostu w bardziej wygodnym miejscu bez przełączania okien.
elwis napisał(a):
Myślę, że istnieje wysoka korelacja między spektrum/ADHD, a używaniem prostych edytorów. BTW. w tej branży to raczej atut jest, jeśli się ogarnie umiejętności interpersonalne. Jednak uwaga dot. skrótów wynika z niezrozumienia sposobu rozumowania osoby w spektrum (w domyśle, która ogarnia kodowanie).
Jak najbardziej, myślę że wszyscy są w spektrum - jedni bardziej przy brzegu niż inni, bardzo mały odsetek osób jest zdiagnozowana czy sama sobie uświadamia o tym i może być atutem o ile nie wkraczamy w trzecie stadium.
Ale dalej nie rozumiem jak IDE może cokolwiek komplikować, można go używać w takim stopniu w jakim się chce - może to być dla kogoś nawet zwykły edytor + terminal z shortcutami do buildowania, ktoś tu chyba myli IDE z wbudowanymi w niektóre IDE wizardami.
elwis napisał(a):
Po prostu klikasz i masz. Tylko dla osoby w spektrum to często żadna wartość, bo to psuje całą zabawę i nakłada niepotrzebne ograniczenia. Z drugiej strony, jak się kontroluje cały proces to z czasem ten optymalny proces pracy z kodem okazuje się zupełnie odmienne od tego co proponuje IDE. Ja w każdym razie uważam, że 90% funkcjonalności IDE to obchodzenie problemów powstałych z powodu niekompetencji i braku dyscypliny. Nuda. Warta wiele tysięcy dolarów, ale wciąż nuda. Kwestia priorytetów w życiu. Dla kogoś kogo nie jara programowanie i po prostu chce zarobić, nie ma sensu za bardzo się starać i robić cudów na kiju.
No dla większości nawet największych pasjonatów proces buildowania przestaje być czymś niesamowitym po pierwszych paru razach i jest najmniej ekscytującą częścią codzienności programowania która powinna po prostu działać
Natomiast teraz w dobie agentów AI nie korzystanie z tego to w ogóle samobójstwo - o ile nie traktujemy programowania tylko hobbistycznie jako łamigłówki dla mózgu na tym samym poziomie co rozwiązywanie sudoku i krzyżówek i chcemy cokolwiek dowieźć to wyrzeczenie się IDE z wbudowanymi agentami AI znacząco zmniejsza produktywność. Tu nie ma już najmniejszych szans nadrobić znajomością skrótów klawiszowych.
- Rejestracja: dni
- Ostatnio: dni
obscurity napisał(a):
Ale dalej nie rozumiem jak IDE może cokolwiek komplikować, można go używać w takim stopniu w jakim się chce - może to być dla kogoś nawet zwykły edytor + terminal z shortcutami do buildowania, ktoś tu chyba myli IDE z wbudowanymi w niektóre IDE wizardami.
Po pierwsze trudność w przełączaniu się między sposobami myślenia związanego z konkretnym narzędziem. Im głębiej w spektrum tym większa adaptacja do konkretnego rozwiązania. Nawet daje się nauczyć kilku, ale przełączanie się jest osobnym wyzwaniem. Tak więc mi na przykład zajmuje kilka sekund zanim mój mózg ogarnie w pełni że przełączyłem się z intellij na konsolę basha. Mało to przyjemne.
Po drugie, w grę wchodzi komplikacja przez utraconą prostotę. Tak długo jak jedziesz na prostych hackach, w których możesz zmodyfikować dosłownie wszystko, bo basha i programowanie systemowe masz w małym palcu, Twój proces jest elastyczny i możesz robić cuda na kiju, które dają ci tony dopaminy. Wystarczy, że dodasz mavena i próg wejścia w zrobienie czegokolwiek rośnie, a jeszcze nie masz gwarancji, że w ogóle to zrobisz, bo architektura mavena. Chociaż cały czas masz w głowie, że przecież wiesz, że technicznie umiałbyś to zakodować, bo jak działa JVM też wiesz. Ta świadomość, że umiałbyś coś zrobić i byłoby to pierdyliard razy ciekawsze niż uczenie się mavena, który jest brzydki i razi uczucia estetyczne… Ona dobija.
Tak jak dobija konieczność przekompilowywania projektu za każdym razem, choć w domowym projekcie już dawno podmieniasz pojedyncze funkcje w locie i nawet umiałbyś to napisać w Javie, ale jak to zintegrować z Intellij? I jak to zrobić nie psując springa? Za dużo zachodu, wolę pójść poleżeć na słońcu aż będzie można coś zrobić nie psując tempa pracy zespołu. -.-
Ta cała dynamika ma wiele wspólnego z uzależnieniem, więc raczej nie chcę się w to bardziej pakować. xD Ma swoje wady i zalety, ale po tylu latach byłbym głupi nie polubiając tego jakoś. Każdy musi sobie radzić z takim okablowaniem w głowie jakie ma, co nie? :D
- Rejestracja: dni
- Ostatnio: dni
- Postów: 269
obscurity napisał(a):
Troll anty OOP napisał(a):
nie uważam że bez IDE jest szybciej - uważam że jest niewiele wolniej, a jednocześnie mam sprzężenie zwrotne, które informuje mnie wcześniej niż gdybym z IDE korzystał, że zrobiłem coś w sposób zbyt zagmatwany. Uważam że brak użycia IDE jest w dłuższej perspektywie korzystny.
w jaki sposób? To właśnie IDE daje natychmiastowe sprzężenie zwrotne i informacje o błędach często jeszcze przed kompilacją
Mi zupełnie nie chodzi o kompilację. Pisząc to miałem przede wszystkim na myśli ułatwianie przez IDE znalezienia deklaracji struktur, podpowiadania nazw. Gdy nie mam innych niż "grep" pomocy w wyszukiwaniu, wcześniej odczuję że coś jest źle nazwane, albo umieszczone w miejscu, w którym to słabo pasuje. Normalna reakcja - coś przeszkadza, to jest większa szansa, że coś się spróbuje naprawić (nie zawsze to się uda, ale przynajmniej ileś wysiłku myślowego się tej próbie poświęci i skuteczność jest większa niż 0).
- Rejestracja: dni
- Ostatnio: dni
- Postów: 3
Można kopać łopatą ogródek. Jak się zaweźmiesz i robisz to raz w życiu to i ze szwagrem wykopiesz dziurę pod fundament swojego domu. Natomiast jeśli codziennie robisz prace ziemne pod fundamenty, kanalizację, stabilizację gruntu to jasne, że kupisz koparkę z ładowarką i pewnie jeszcze jedną minikoparkę, lawetę i ciężarówkę. Już nie wspomnę o kopaniu np. tunelów metra.
Każdy profesjonalista używa IDE. Czasem to system operacyjny i zestaw tooli jest jego IDE - np. gcc do kompilacji, gdb do debugu i emacs jako edytor, do tego ssh itd. Czasem to jest w jednej aplikacji - jakie to ma znaczenie? Nie nam nikogo kto zarabia programując i nie używa IDE, tak jak nie znam nikogo kto prowadzi ciężkie prace ziemne używając tylko łopaty.
Zresztą jeśli mamy system backendowy w .net który składa się z 30 mikroseriwsów, każdy odpalany w osobnym procesie na osobnym kontenerze, wiele z nich komunikuje się z bazami danych - np. 20 bazami w 5 różnych silnikach. Wszystko odpala się na dockerze. Przyznam, że nie wiem czy w godzinę bym to wszystko skonfigurował i odpalił nie mówiąc już o debuggowaniu tych procesów. Używając VisualStudio i Aspire uruchomienie wszystkiego to kwestia kilku sekund i nic nie trzeba ręcznie zgrywać.
Z kolei skrypt updatujący bazę danych można stworzyć w edytorze i przetestować z CLI. Do wszystkiego są różne narzędzia i nie ma co na siłę filozoficznie ograniczać do używania lub nie używania jakiś ich klas.