Czy warto studiować filozofię? Jak to połączyć z programowaniem?

0

Studiuje informatyke i zauwazylam, że bardzo dużo moich rówieśników wcale nie jest zainteresowana programowaniem - rozwijają sie za to w kierunku sieciowości lub administrowania systemami, wielu pewnie pracuje w jakichś serwisach i są typowymi "informatykam" od wszystkiego. Ja przyznam szczerze, nie przepadam za technologią, bardziej mnie rajcuje rozwiązywanie problemów, lubie jak po wielu godzinach pracy program zaczyna w koncu działać. Jestem sporym fanem filozofii i ogólnie literatury i zastanawiałam sie, czy nie porzucić studiów które nie do końca mnie satysfakcjonują (programowanie jest na niskim poziomie, bo nie kazdy chce byc programistą) i raczej połączyć w jakiś sposób zamiłowania humanistyczne z programowaniem. Znam bardzo dobrze angielski - co sądzicie o filologii angielskiej, albo ogólnie o studiowaniu języków? Wreszcie - czy ktoś z Was studiował filozofie i czy studia na tym kierunku satysfakcjonowały wasze ciągoty logiczne? (bardzo lubie spójne systemy i rozumowanie takich filozofów jak Wittgenstein czy Spinoza, takie rozkminianie na tematy mocno abstrakcyjne i raczej ni empiryczne w sumie nie jest zbyt dalekie od programowania). Martwie sie troche, ze na humanistycznych kierunkach zarzucają ludzi masą nie zawsze ciekawej literatury (a ja lubie miec wolną ręke w tym co czytam) ale na informatyce jest podobnie, tylko że za "nieciekawe ksiązki" wstawić można "przestarzałą technologie" :)
Niech to miejsce będzię ogólnym tematem o humanistycznych kierunkach studiów, z którymi mieliście do czynienia, czym sie na nich zajmowaliście, oraz czy udało Wam sie połączyć to z programowaniem?

1

Jak dla mnie ogólnie programowanie ma dużo wspólnego z filozofią - dużo jest teoretycznych konceptów, systemów myślowych - np.. wzorce projektowe, zasady dobrego programowania typu SOLID, paradygmaty (OOP, funkcyjny itp.). Ale nawet wchodząc w projekt, trzeba myśleć nie tylko o kodziku, ale też o architekturze projektu, o ogólnych założeniach, o dobrze dobranych metaforach.

Podczas programowania często trzeba operować na nieco wyższym poziomie abstrakcji, co zbliża programowanie do filozofii (a także do socjologii, antropologii, psychologii, ezoteryki czy innych "szkół myślowych").

Z drugiej strony nie wiem, czy studia filozoficzne są ciekawe. Nie studiowałem tego (chociaż studia językowe owszem).

o ogólnie o studiowaniu języków?

Z językiem też dużo ma wspólnego, bo:

  • programista musi pisać kod, a pisanie kodu to też dziedzina pisarstwa i podobne problemy trzeba mieć na uwadze (trzeba dobrze dobierać słowa/nazwy, trzeba pisać kod zwięźle, w zrozumiały sposób itp.).

  • programista musi czasem pisać również teksty w języku naturalnym (np. powinien umieć napisać dokumentację, opisać issue w sensowny sposób, albo napisać zrozumiałego mejla). Więc zainteresowanie się językiem (wszystko jedno czy obcym, czy polskim), pisanie czegoś, powinno być na plus.

  • na studiach językowych, przy nauce reguł gramatyki, można poczuć się trochę jak przy nauce składni nowego języka programowania, podobny rodzaj rozrywki intelektualnej.

  • studia językowe uczą precyzji, np. zwracania uwagi na końcówki gramatyczne. Tak samo jak nauka języków programowania.

itp.

0
LukeJL napisał(a):

dużo jest teoretycznych konceptów, systemów myślowych - np.. wzorce projektowe, zasady dobrego programowania typu SOLID

Żadna z tych rzeczy nie jest teoretycznym konceptem, to sama praktyka.

0

Raczej teoria stosowana w praktyce.

2

Niby jak miałaby to być teoria, skoro wszystko to zostało zdefiniowane na podstawie analizy doświadczenia zdobytego podczas praktycznego tworzenia oprogramowania?

1

No właśnie, ale trzeba było dokonać tej analizy.

Trochę jak z językami. Do tego, żeby się porozumiewać w danym języku wystarczy być native speakerem. Nie trzeba wiedzieć, co to "przypadek". Wystarczy mieć w głowie język i operować swoją intuicją językową ("tak brzmi dobrze/źle"). Tak samo programować można również "na czuja".

Tylko intuicję ciężko komuś "przekazać". Przypisanie natomiast nazwy do jakichś uogólnionych zjawisk językowych (i operowanie pojęciami typu "przypadek") pozwala na przekazywanie wiedzy o danym języku (np. ludziom, którzy się uczą danego języka jako obcego), ew. doskonalenie własnej znajomości danego języka, nawet tego ojczystego.

Tak samo jak stworzenie nazwy na pewne uogólnione zjawisko w kodzie (np. Single Responsibility Principle) pozwala na lepsze przekazywanie wiedzy innym (ew. na polepszanie własnych umiejętności poprzez pewną refleksję "z czego to wynika, że ten kod jest dobry, a ten zły").

Tylko że, te wszystkie SOLID, DRY, czy nazwy konkretnych wzorców projektowych to i tak "tylko teoria". Ludzie chłoną te wszystkie książki o wzorcach projektowych i dobrych praktykach i potem i tak źle piszą, bo brak im tej praktyki, nie mają wyczucia, które wzorce kiedy stosować i w jaki sposób. A potem jest przeinżynierowanie i kulty cargo.

Ludzie chłoną teorie, które ktoś kiedyś opracował w jakimś kontekście, natomiast sami nie znają tego kontekstu (np. z powodu małego doświadczenia nie spotkali się z sytuacją, w której DI mogłoby się przydać, więc nie wiedzą po co, ale tylko to, że "tak się robi").

0
LukeJL napisał(a):

No właśnie, ale trzeba było dokonać tej analizy.

No właśnie, trzeba było dokonać analizy, więc nie ma tu mowy o teorii, bo w takim przypadku nie byłoby czego analizować.

Tylko że, te wszystkie SOLID, DRY, czy nazwy konkretnych wzorców projektowych to i tak "tylko teoria". Ludzie chłoną te wszystkie książki o wzorcach projektowych i dobrych praktykach i potem i tak źle piszą, bo brak im tej praktyki, nie mają wyczucia, które wzorce kiedy stosować i w jaki sposób. A potem jest przeinżynierowanie i kulty cargo.

Ludzie chłoną teorie, które ktoś kiedyś opracował w jakimś kontekście, natomiast sami nie znają tego kontekstu (np. z powodu małego doświadczenia nie spotkali się z sytuacją, w której DI mogłoby się przydać, więc nie wiedzą po co, ale tylko to, że "tak się robi").

Rozumiem o co Ci chodzi, ale to, że ktoś używa wzorców czy reguł bez zrozumienia nie czyni ich teoriami.

0

Na jednej warszawskiej uczelni (WIT) jednym z przedmiotów jest filozofia. Czy potrzebna informatykom? Nie wiem, ale chyba nie do końca.
Ja uważam, że wszystko czego w życiu się nauczysz daje jakieś plusy, tylko trzeba je umieć wykorzystać. Pewnie znając filozofię inaczej można postrzegać świat i ludzkie zachowania. Może tu szukaj plusów i spróbuj przełożyć swoje umiejętności i wiedzę. Filozofia chyba trochę pokrewna jest z psychologią i socjologią. Możesz więc swoją wiedzę przekuć na jakieś kwestie związane z zachowaniem użytkownika (tak powstały reklamy typu baner/popup, czy mikropłatności w grach). A nóż wymyślisz coś zupełnie innowacyjnego.

0

Znam jednego programistę po filozofii.
Najciekawiej było z nim rozmawiać w trakcie code review.
Mówisz mu "to powinno być tak i tak" a on na to "to zależy" albo "tak twierdzi większość".
Jak nie lubisz programowania to zawsze możesz zabrać się za analizę wymagań.
Po skończonej informatyce to raczej mało jest stricte programistów.

2

Moim zdaniem absolutnie nie warto studiować filozofii, jeżeli planujesz być programistą, no chyba, że to jest twoja pasja a studia traktujesz jako hobby a uczyć się będziesz sama w domu, ale to jest ewidentne robienie sobie pod górkę, bo łatwiej się uczyć mając podstawy teoretyczne i czas zajęty nauką dziedziny, z którą wiążesz przyszłość. Studia jakie by nie były pochłaniają czas a co za tym idzie, będziesz mieć miej chęci i czasu na pracę we własnym zakresie w domu jak będziesz kuła na egzaminy z filozofii i programowanie zaniedbasz.

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