Skocz do zawartości
SmiechuKamil

Poradnik programistyczny, czyli wkraczamy w nowe obszary

Rekomendowane odpowiedzi

Jakiś czas temu pojawił się pomysł na stworzenie poradnika podejmującego tematykę programowania. Posiadam w tym zakresie pewne doświadczenie, zatem chętnie podzieliłbym się swoją wiedzą (a także oczywiście przy okazji, nabył nowej :)). Chciałbym jednak prosić was o pewne sugestie, pomysły na temat tego, o czym najchętniej w takim poradniku byście przeczytali, np. o jakiej technologii lub jakimś specyficznym obszarze IT, którego to można ująć w projekcie. Przyjąłbym następujące założenia:

  • poradnik podzielony na kilka części,
  • poradnik pisany zrozumiale zarówno dla osoby nie mającej wcześniej styczności z programowaniem, jak i dla tych, którzy już co nieco wiedzą w temacie,
  • jeden projekt/grupa powiązanych ze sobą projektów prowadzony przez wszystkie części poradnika, ma służyć jako przykład,
  • technologie mobilne/webowe/desktopowe,
  • na podstawie w/w sprawa pokazana zarówno od strony czysto technicznej, jak i tzw. "dobrych praktyk",

I tu właśnie pojawia się moje pytanie do was: co sądzicie o takim pomyśle? Co chcielibyście właśnie w takim poradniku zobaczyć (technologie, jakiś konkretny projekt)?

Edytowane przez SmiechuKamil
  • Upvote 1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ambitnie. Problemem może być zbyt ogólne podejście. Bo nie da się napisać czegoś dla wszystkich.

 

Moim zdaniem jest sporo poradników w Polskim internecie ale każdy ma inne problemy. Albo język nie ten, albo przykłady mało interesujące. Poradnik powinien być jednym projektem w którym są zawarte wszystkie elementy języka. Ciężko coś takiego ogarnąć, bo Tobie, jako autorowi coś może wydawać się proste, ale inna osoba się "zatnie" i zniechęci.

 

A nad czym Ty się zastanawiałeś? Bo skoro pomysł się pojawił to pewnie masz jakąś tam wizję.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wizję jako taką mam: chciałbym zrobić właśnie jak mówisz - przedstawić jeden projekt, możliwie maksymalnie wyczerpujący możliwości danej technologii. Wiadomo, że nie da się wszystkiego całościowo ująć, ale po to byłby podział poradnika na części, że z czasem do tego poziomu by się człowiek zbliżył :) Choć z drugiej strony, celem tego poradnika byłoby zachęcenie ludzi do programowania, ewentualnie do poszerzania wiedzy, a nie rozpiska możliwości języka :)

 

Problem polega na braku pomysłu na projekt. Jak już wspomniałem, może to być aplikacja desktopowa/webowa/mobilna. Jak już to będę wiedział, to wtedy wybierze się jakąś technologię.

 

Poradnik starałbym się napisać tak, by był zarówno zrozumiały dla początkujących, jak i ciekawy dla tych, którzy już coś tam wiedzą. Trudne, ale nie niemożliwe :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A jakie języki bierzesz pod uwagę? Ja zaczynałem od Delphi, ale w takim przypadku jest to chybiony pomysł. Ja bym się wziął za jakiś ogólny i prosty język, który można zastosować we wszystkich typach (aplikacja desktopowa/webowa/mobilna).

 

Projekt jest o wiele lepszy niż jakieś przykłady "z [gluteus maximus]", bo tych pełen jest StackOverflow. Poza tym wiem po sobie, że jak masz projekt, to sam z siebie coś tam w nim grzebiesz bo ma to jakąś ciągłość, a nie jak ćwiczenia, że zaczynasz za każdym razem od początku.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Z tym projektem to 100% racji - dokładnie tak to bym chciał zrobić, ale właśnie - "o czym" ten projekt miałby być ;)

 

Co do języka, to preferuję albo Javę, albo C#. W przypadku aplikacji mobilnych można pokazać co nieco na przykładzie Xamarina, jako ciekawej technologii międzyplatformowej (C# + Visual Studio). Co do projektów webowych, to prawdopodobnie wolałbym albo coś na podstawie Spring MVC, albo ASP.NET MVC. Desktop - znowu Java (JavaFX8) lub C# (WPF). Także wybór jakiś jest.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wiesz co, według mnie, nie do końca. Taki Visual Studio tylko wydaje się skomplikowany, ale w rzeczywistości jest on bardzo "programmer's friendly" :) Co do języków, to od obiektowości się w przypadku projektu chyba nie ucieknie, poza tym ostateczny efekt (tak, także ten wizualny :)) z pewnością będzie dla takiego początkującego programisty znacznie bardziej, że tak to określę, atrakcyjny niż miałyby to być w przypadku listy na wskaźnikach w C :P Dlatego rozpocząłbym od ogólnego wyjaśnienia co z czym się je, a dopiero później zagłębiał się w to, co w obiektach najlepsze. Po nitce do kłębka, jak to się mówi.

Edytowane przez SmiechuKamil

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

(...)

Poradnik starałbym się napisać tak, by był zarówno zrozumiały dla początkujących, jak i ciekawy dla tych, którzy już coś tam wiedzą. Trudne, ale nie niemożliwe :)

Raczej w praktyce niemożliwe.

Skoro jak mówisz chciałbyś się na początku skupić na językach obiektowych to jest to niestety podstawa obecnej edukacji i większość osób zaznajomionych ma już tego dosyć. Po ogarnięciu obiektowości albo schodzi się poziom niżej albo wyżej w abstrakcji do komponentów, zależnie od potrzeb i zainteresowań programisty.

 

Chcąc zadowolić wszystkich musiałbyś odpowiednio podzielić ów poradnik, aby np.  zaawansowani nie zaczynali od początku. Jednak jeżeli jednocześnie chcesz przedstawić kompleksowy przykład to te dalsze rozdziały mogą odrzucić wówczas i wyjadaczy.

 

Jeżeli już chcesz ambitnie i przy okazji się czegoś nauczyć to myślę, że ciekawe by było coś takiego. Wybrać po 1-2 języki z każdej dziedziny ( np. zarządzany wysokiego poziomu, coś z niższego i jakieś interpretowane). Następnie zamiast wg kompleksowego przykładu, podzielić poradnik na konkretne zagadnienia. Dla przykładu aplikacja webowa, sieciowa lub jakaś usługa systemowa. Oczywiście nie wszystko da się napisać we wszystkim, ale mógłbyś pokazać różnice w technologiach i zastosowaniach w który dany język bryluje. Pozwoli to jednocześnie odpowiednio nakierować początkujących, jak i przestawić konkretne przykłady dla zaawansowanych.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

@SmiechuKamil


no właśnie nie do końca, bo tak na prawdę język programowania to kwestia drugorzędna. Najpierw trzeba nauczyć się idei, dopiero później myśleć w czym to napisać. Po prostu język nie może być problemem większym niż samo zadanie. Dlatego moim zdaniem zaczynanie od całkowicie obiektowego języka jest nieporozumieniem.


 


Popatrz na przykład na Pythona, nie dość że jest prostym językiem jeśli chodzi o składnie, to nie wymusza obiektowości. Dzięki czemu, nasz #random (tak nazwijmy kursanta :P) zaczyna pisać program proceduralnie, linia po linii. Męczy się niemiłosiernie ale poznaje elementy i logikę programowania, które jakby nie patrzeć w każdym języku są identyczne, a różnią się tylko tym, że są mniej lub bardziej rozbudowane (tak ogólnie rzecz biorąc ;)). i tak powstaje nasz piękny prosty programik, którym jest jakiś np notatnik, czy coś równie prostego, co daje widoczne rezultaty, ale można go szybko przerobić na coś innego (notatnik można przerobić na reminder, jakiś sticky-notes, czy gdziekolwiek, gdzie potrzebujesz przetrzymać tekst ;)). I jak już masz taką bazę, pokazujesz, że 10 razy szybciej można to napisać tworząc obiekty i wtedy nasz #random myśli sobie "wow, faktycznie ma to sens".


 


Ja to widzę tak :) A co do IDE to jasne, że VS jest bezkonkurencyjnie najlepszym IDE na rynku, ale właśnie dzięki temu przeraża jego ogrom. #random otwiera VS2015 Community, zakłada konto na stronce MS i otwiera mu się program z milionem opcji. Szok za pierwszym razem. Chodzi o to, że do podstaw raczej zacząłbym od czegoś prostego, aby później przejść do np VS i analogicznie spowodować takie "wow", a nie szok :P


Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

No i każdy z Was ma rację :) Co do kwestii języka to jasne, że najważniejsza jest idea, a sposób przelania tego w kod to sprawa drugorzędna.

 

Dzięki @Bonusso3 i @Ancient za rady :) To jest myśl - zacząć od prostego programiku okienkowego wyjaśniając po kolei z czym to wszystko się je i następnie rozbudowywać projekt, dodając coraz to nowe funkcje obrazujące coraz bardziej zaawansowane kwestie. Jak już się uzna, że temat został wyczerpany, to można przejść do innych technologii z tym samym projektem (lub powiązanym) i od nowa - od podstaw do rzeczy bardziej zaawansowanych..  

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...