Skocz do zawartości


[Dev] Programowanie - początki


6 odpowiedzi w tym temacie

#1 RL89

    Clan Leader

  • Zarząd
  • PipPipPipPipPipPip
  • 2 289 postów

Napisano 06 kwietnia 2019 - 22:43

Za namową 90s tworzę ten temat. Wiem, że wielu z placków coś tam sobie programowało, albo mieli zacięcie informatyczne (studia, hobby), niemniej jednak napiszę dla uzupełnienia tematu i zainteresowanych.

Jeżeli ktoś chciałby spróbować zacząć programować, to bardzo polecam zarejestrowanie się na stronie https://visualstudio...dev-essentials/
Najlepsze co tam się znajduje, to miesięczny darmowy dostęp do serwisu pluralsight.com, gdzie są rewelacyjne kursy IT, oraz 3 miesiące konta premium linkedin, gdzie jest ogromna baza kursów od biznesu, rozwoju, kreatywności po IT.

Ale po co komu może się przydać znajomość programowania pomijając kwestie kariery zawodowej? Po prostu dla ułatwienia sobie życia.
Zamiast wyszukiwać programów o danej funkcjonalności, można sobie samemu stworzyć to, co ułatwi nam pracę. Bardzo szybko i prosto.
Zmiana nazw dużej ilości zdjęć, albo rozmiarów. Automatyzacja niemalże wszystkiego. Wgrywanie danych

Dla tych co programują.... znaczna ilość podchodzi do tego tematu od złej strony. Nie traktują języka programowania jako narzędzia, tylko idą utartymi schematami. Nauczyli się jednego języka i próbują wszystko w nim zrobić, albo odpychają się, że się nie da. Na początku oczywiście jak większość zapewne poznawała wiele języków skacząc co chwilę z jednego do drugiego nic konkretnego z nim nie robiąc. Albo utknęła w spirali kursów. Po skończonym kursie, odpalali kolejny.

Język programowania to tylko narzędzie do rozwiązywania problemów. Bo programowanie polega właśnie na rozwiązywaniu problemów. Jeżeli mam do napisania program, który pobiera z ERP jakieś dane i ma je przesłać do programu graficznego, to wybiorę Pythona do pobrania i obróbki danych i JavaScripta, do wprowadzenia ich w programie graficznym.
Jeżeli mam do napisania aplikację desktopową, która ma być komunikatorem firmowym, to mógłbym użyć Pythona(PYQT), albo C++, ale skoro w firmie są same stanowiska na windowsie, to dlaczego by nie użyć C# skoro będzie równie szybkie co napisane w C++, ale nie będzie to wymagało ode mnie mnóstwa linijek kodu?
Kwestia jeszcze nauki... jeżeli chcemy coś robić, to zacznijmy. Nie czekajmy aż skończymy cały kurs w jakimś języku programowania, tylko szukajmy rozwiązań na bieżące problemy.
Znam podstawy Pythona, piszę program do pobrania danych z pliku xls i wysłania zapytania do API. Nie wiem jak wczytać dane z pierwszej i drugiej kolumny? Sprawdzam czego użyć. Pandas, a może samo xlrd? Nie wiem jak wysyłać zapytania (chyba w podstawach to akurat jest), to sprawdzam co to jest biblioteka requests.

Nie wiem czy ktoś jest zainteresowany bym kontynuował temat. Jeżeli tak, to mógłbym poruszyć kwestię "od czego zacząć", albo "ciekawe i wartościowe projekty". W większości kursów dotyczących nauki programowania są idiotyczne przykłady, które tylko utrudniają wejście w ten świat. Już o tłumaczeniu klas na przykładnie psa, albo samochodu już nie wspomnę.
"He who fights and runs away, lives to fight another day; but he that is in battle slain, will never rise to fight again."
Dołączona grafika

#2 90s

    Emeryt Clan Leader

  • Zarząd
  • PipPipPipPipPipPip
  • 2 363 postów
  • Płeć:Mężczyzna
  • Miejscowość:Burton On Trent

Napisano 06 kwietnia 2019 - 23:38

Dzięki RL za temat. W miesiąc raczej nie za wiele się nauczę a z tego co piszesz to warto znać wiele języków aby wybierać ten najlepszy do danej operacji. Świetna sprawa móc samemu sobie tworzyć narzędzia. Ale czy da się osiągnąć samodzielny i wystarczający poziom z samych kursów internetowych bez porządnej edukacji o takim kierunku?
Dołączona grafika

#3 RL89

    Clan Leader

  • Zarząd
  • PipPipPipPipPipPip
  • 2 289 postów

Napisano 07 kwietnia 2019 - 12:16

Wyświetl postUżytkownik 90s dnia 06 kwietnia 2019 - 23:38 napisał

z tego co piszesz to warto znać wiele języków aby wybierać ten najlepszy do danej operacji.

Dokładnie. Chociaż na start trzeba poznać dobrze jeden, by łatwiej zrozumieć mechanizmy. Ale tak jest ze wszystkim. W BFa też wystarczyło poznać jednego, by móc gromić w całej reszcie :D


Wyświetl postUżytkownik 90s dnia 06 kwietnia 2019 - 23:38 napisał

Ale czy da się osiągnąć samodzielny i wystarczający poziom z samych kursów internetowych bez porządnej edukacji o takim kierunku?
Więcej dają właśnie same takie kursy i da się bardzo wiele wyciągnąć. Jedyne w czym jest problem, to z przykładami użycia danej funkcji. Ale to wszędzie tak jest. Są co prawda kursy, które dają realne przykłady, które są użyteczne, ale mało jest tego. Ludzie nie mają pomysłu na zaprezentowanie prawdziwych przykładów albo projektów z wykorzystaniem danego języka.

Najważniejsze co trzeba pamiętać, że nie da się nauczyć wszystkiego. Nie ma sensu przerabiać milionów kursów. Najważniejsze jest tylko ogarnięcie podstawy, a później to tematy, które nam są potrzebne do projektu.
Nie ma co powielać schematów jak ze szkoły. Uczą wszystkiego jak leci, a tylko część wiedzy jest potrzebna na co dzień. Niektórych tematów w życiu nie wykorzystamy.
Dlatego ważne jest, by ogarnąć podstawy w danym języku, a nie oglądać od deski do deski kursów. Bo po co komu od początku wiedza odnośnie tablic w C++ jak w większości projektów nie będzie ich używać? Gdy już będzie musiał użyć, to wtedy sobie ten materiał przyswoi.

W miesiąc jak przysiądziesz, to możesz dużo zdziałać, na własny użytek. Na programistę raczej nigdzie się nie załapiesz w tym czasie, ale sam zobaczysz ile Ci to da.

No i teraz dochodzimy do tematu, co najlepiej poznać na start. Wszystko jest zależne od tego, co chcesz robić. Jeżeli chcesz pisać strony internetowe i lecieć w stronę front-endu (najłatwiejsza droga do zarabiania kasy), to pierwsze kroki warto skierować w stronę JavaScriptu, oczywiście po opanowaniu najważniejszego fundamentu front-endu, czyli HTML i CSS.

Oczywiście JavaScript jest też bardzo przydatny w pisaniu skryptów w innych programach. Najczęściej pojawia się możliwość użycia go w różnego typu systemach ERP, WMS, lub zaawansowanych programach graficznych.
Co można nim robić? W programach graficznych ułatwić pracę z projektem. Ustawiać na starcie odpowiednią konfigurację. Zautomatyzować proces wgrywania danych do ramek, czy warstw. Szybkie ustawianie opcji.
W programach typu ERP, zrobić to co nam jest przydatne, a nie przewidzieli tego twórcy oprogramowania. Kolumna wyliczalna z danych w innym zakątku programu. Pobieranie i eksport konkretnych danych z uwzględnieniem warunków. Jednym słowem wiele i zależy tylko od tego na ile to wszystko jest dostępne w danym programie.

Jest jeszcze możliwość pójścia w stronę PHP, gdzie jest tego mnóstwo w sieci. Strasznie dużo wtyczek do WordPressa jest w PHP. Ogólnie kiedyś to była podstawa w sieci, dlatego pracy w tym najwięcej.

Inna droga z tych łatwiejszych, to bardziej użytkowa, bo jeśli nie szuka się pracy w tym, to przyda się do własnych celów, by automatyzować i usprawniać wszystko jak leci. Mowa oczywiście o Pythonie.
Można oczywiście wszystko robić w Pythonie, nawet pisać gry, tylko po co skoro są lepsze narzędzia do tego?
Python jest super jako język skryptowy. Pobieranie danych i analiza, to główne funkcje tego języka. Nic dziwnego, że wykorzystuje go NASA i Google.
Bardzo prosto i efektywnie pobiera dane z różnych platform (jak nie przez zapytania do API, to web scraping) i zapisuje jak chcemy i gdzie chcemy. Szybka zmiana rozmiarów zdjęć, albo nazw? A może tworzenie, edycja i konwersja na inny format plików PDF? Żaden problem. Zastosowań do ułatwienia sobie pracy jest bardzo wiele.
Do tego możemy tworzyć duże serwisy. Backend ogarniemy prosto dzięki frameworkom Pythona takim jak Flask, czy Django.
Aplikacje desktopowe też można tworzyć (najefektywniej QT, ale raczej ograniczałbym się do nadania interfejsu naszym małym programom, niż tworzyć jakieś bardziej zaawansowane aplikacje. Od tego są inne języki.

C++, mam największy sentyment do niego, bo od niego zaczynałem poważniejsze programowanie. Ciągle chcę do niego wrócić, jednakże obecne czasy wymuszają korzystanie z innych narzędzi. Bo naprawdę ten język jest wydajny, jednakże nie piszemy raczej projektów, które są aż tak duże, byśmy musieli martwić się o alokację pamięci, a ilość czasu na napisanie aplikacji w porównaniu z innym językiem jest znacznie przewyższający.
Jeśli jednak musimy napisać coś na jakieś urządzenie, jakiś sterownik, albo może nawet jakąś gierkę, to jak najbardziej ten język się nada.

C#, bardzo się ostatnio zainteresowałem pisaniem aplikacji desktopowych (chociaż w środowisku .net można tworzyć wszystko). Bardzo szybko i dość przyjemnie się w nim pisze. Największym minusem jest to, by uruchomić aplikację, trzeba mieć zainstalowane środowisko net. W większości przypadków to nie jest problem.

Jest wiele innych języków i wiele mógłbym napisać jeszcze, ale nie wiem czy się to komuś przyda.
"He who fights and runs away, lives to fight another day; but he that is in battle slain, will never rise to fight again."
Dołączona grafika

#4 90s

    Emeryt Clan Leader

  • Zarząd
  • PipPipPipPipPipPip
  • 2 363 postów
  • Płeć:Mężczyzna
  • Miejscowość:Burton On Trent

Napisano 07 kwietnia 2019 - 12:53

Osobiście nie widzę siebie w tym temacie jak czytam ile tego wszystkiego jest. Wiem ile lat zajęła mi sama fotografia aby opanować jakiś tam poziom. Teraz walczę z www. bo sytuacja zmusza i też widzę ten ogrom wszystkiego dookoła co trzeba poznać. Nauka języka wydaje mi się jeszcze większym kosmicznym wyzwaniem, wymagającym jeszcze większego nakładu pracy i nauki. Nie wiem też czy niosłoby ze sobą satysfakcje, to trzeba chyba lubić przede wszystkim.

Może też to wynika z mojej kompletnej niewiedzy jak to wszystko naprawdę wygląda. RL jaki język stosuje się w aplikacjach mobilnych?
Dołączona grafika

#5 RL89

    Clan Leader

  • Zarząd
  • PipPipPipPipPipPip
  • 2 289 postów

Napisano 07 kwietnia 2019 - 19:10

Do aplikacji mobilnych to głównie Ojective-C i Swift na iOS, no i java na androida. To tak najogólniej, bo jest pełno różnych kompllatorów, wtyczek i środowisk, że nawet taki język jak Ruby ma możliwość pisania na urządzenia mobilne.

Sprawdź sobie czy Ci podpasuje JS albo Python i pobaw się. Tylko wtedy dowiesz się, czy Ci podpasuje.
"He who fights and runs away, lives to fight another day; but he that is in battle slain, will never rise to fight again."
Dołączona grafika

#6 90s

    Emeryt Clan Leader

  • Zarząd
  • PipPipPipPipPipPip
  • 2 363 postów
  • Płeć:Mężczyzna
  • Miejscowość:Burton On Trent

Napisano 07 kwietnia 2019 - 20:05

Ostatnio jak w edytorze grzebałem z kodem ( WP) chyba to była właśnie JS to musieli wgrywać kopie zapasową z przed 4 dni:)
Dzięki RL za temat, może też wrzucisz jakieś swoje prace i projekty. Jeżeli można takie rzeczy pokazywać ofc:)
Dołączona grafika

#7 Michaster

    Redaktor

  • Redakcja strony
  • Pip
  • 53 postów
  • Płeć:Mężczyzna
  • Miejscowość:Wrocław

Napisano 08 kwietnia 2019 - 13:53

W technikum uczyłem się PHP i JS. Ten drugi bardziej przypadł mi do gustu, więc go wybrałem jako główny filar rozwoju kariery. Aktualnie przymierzam się do nauki React'a w celu poszerzenia kompetencji. Jakiś czas temu przerobiłem również cały kurs C#, ponieważ mocno zainteresował mnie ASP.NET (w sumie nadal mnie fascynuje, chociaż myślę, że pracę w front-endzie szybciej znajdę), lecz jak już wcześniej wspomniałem, wolałem jednak rozszerzyć wiedzę z zakresu JS. Mimo to okazał się on przydatny, gdy bawiłem się w modowanie DayZ. Język udostępniony moderom bardzo przypomina to co mamy właśnie w C# lub Java. Ostatnio udało mi się stworzyć własny template do WordPress'a, który wykorzystuje na mojej stronie internetowej, lecz prawdą jest, że nie wygląda zbyt nowocześnie. Znajomy polecił mi tą stronę: https://material.io , a propo nowoczesnego designe'u.
Dołączona grafika





Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych