Witamy, Gość. Zaloguj się lub zarejestruj.

Autor Wątek: Rozmówki o programowaniu  (Przeczytany 13744 razy)

0 Użytkowników i 1 Gość przegląda ten wątek.

Abik

Rozmówki o programowaniu
« dnia: Styczeń 23, 2010, 21:14:56 »
nie przypominam sobie takiego tematu na bb, ale mogę się mylić :P

tak więc, jak ktoś ma ochotę to możemy pogadać co nieco o programowaniu, językach, środowiskach itp : d
pochwalcie się w jakich językach programujecie, co umiecie, czego nie umiecie, czego byście chcieli się nauczyć itp :P
no to może zacznę ^^
ja tak ogólnie znam parę języków... , php, javascript, delphi/pascal, c++, python, perl i asembler :P
przynajmniej w nich coś robiłem, nic ambitnego póki co... jakieś tam kalkulatory, skrypty, proste programy itp
jako tako znam też ruby i lolcode xD ... nigdy w nich nic nie pisałem, ale trochę czytałem i wydają się całkiem fajne oba, szczerze polecam ;p
ostatnio czytałem dużo o językach realizujących paradygmat programowania funkcyjnego... np. taki Haskell (hardkor troche o.O) no i z nowszych Erlang, Scala i Groovy... póki co mi się dość dziwne wydają... ale zdobywają ostatnio sporą popularność (przynajmniej te 3 ostatnie), więc pewnie trochę czasu im poświęcę, zwłaszcza tej Scali bo wydaje się dawać duże możliwości jak się ją opanuje ^^
na chwilę obecną uczę się Javy i C#, dość podobne oba, no i oba nawet fajne, strasznie mnie w javie rajcuje możliwość pisania programów na telefony komórkowe (pralki i lodówki i inne takie XD)... no i fajnie się w niej nawet robi programy z graficznym interfejsem :D
chyba tyle jak na razie ode mnie :D teraz wy się rozpisujcie :D

Sympatyk

  • *****
  • Podziękowania otrzymane: 44
  • Master of science
    • Zobacz profil
    • Moje
  • Ostatnie nagrody:
  • Layout of the Fortnight #45
Odp: Rozmówki o programowaniu
« Odpowiedź #1 dnia: Styczeń 23, 2010, 23:44:31 »
Dobry temat :)
Kiedyś uczyłem się SWI-Prolog i powiem że jest to badziew. Język jedno-wątkowy więc dużo na nim zrobic się nie da. Znam tylko JEDNĄ osobę która się tym zawodowo zajmuje i w środowisku dużo osoób ma z tego poprostu ubaw po pachy :3
C++/C to chyba podstawy i każdy rozpoczynający zabawe powinien te języki znac a minimalnie już podstawy.
Osobiście za Javą nie przepadam bardziej wolę C++ choc języki również podobne składniowo. Jak na złośc większośc programów na Uczelni muszę pisac w Javie choc są wyjątki gdzie język jest dowolny :) C# dzięki Bogu nie uczyłem się bo jest jedynie podróbka Javy zrobiona przez Macrosoft-a.
Cytuj
ostatnio czytałem dużo o językach realizujących paradygmat programowania funkcyjnego... np. taki Haskell (hardkor troche o.O) no i z nowszych Erlang, Scala i Groovy
Mam przedmiot "Języki paradygmaty programowania" i raz uruchomiłem program w języki Haskell i na tym moja przygoda z nim się skończyła. Jednak poznawałem możliwości OCAML-a jak i Pythona.
Cytuj
asembler
Szacun :) tak "nisko" zszedłeś :D

Abik

Odp: Rozmówki o programowaniu
« Odpowiedź #2 dnia: Styczeń 24, 2010, 13:22:51 »
Cytuj
Mam przedmiot "Języki paradygmaty programowania" i raz uruchomiłem program w języki Haskell i na tym moja przygoda z nim się skończyła.
no Haskell zbyt fajny nie jest z tego co zdążyłem zauważyć :D już te nowsze, Scala czy Groovy trochę lepsze bo one są trochę wzorowane na javie i korzystają z jvm, ale dla mnie i tak trochę dziwne, ale nie ma się co dziwić, do tej pory miałem styczność tylko z językami imperatywnymi : d

Cytuj
Szacun :) tak "nisko" zszedłeś :D
no zawsze jak tylko usłyszałem o programowaniu niskopoziomowym to chciałem spróbować :P no i wg mnie warto bo asembler jako język nie jest trudny :P trudne jest tylko zrozumienie architektury na którą ma być przeznaczony program, ale jak się ma jakieś dokumentacje, pomoce naukowe itp to można sobie śmiało dać radę :D a satysfakcja ze zrobienia działającego programu w asmie jest ogromna ^^

Moonmaker

  • *****
  • Podziękowania otrzymane: 80
  • Stranger in a strange land
    • Zobacz profil
    • Moonmaker on dA
  • Ostatnie nagrody:
  • Signature of the Week #81
  • Work of the Month #10
Odp: Rozmówki o programowaniu
« Odpowiedź #3 dnia: Styczeń 25, 2010, 22:31:04 »
ja powiem tylko że programowanie to nuda xd

Cytuj
I know what you're thinking. "Did he fire six shots or only five?" Well, to tell you the truth, in all this excitement I kind of lost track myself. But being as this is a .44 Magnum, the most powerful handgun in the world, and would blow your head clean off, you've got to ask yourself one question: Do I feel lucky? Well, do ya, punk?
Harry Callahan

Sympatyk

  • *****
  • Podziękowania otrzymane: 44
  • Master of science
    • Zobacz profil
    • Moje
  • Ostatnie nagrody:
  • Layout of the Fortnight #45
Odp: Rozmówki o programowaniu
« Odpowiedź #4 dnia: Styczeń 25, 2010, 22:43:23 »
ja powiem tylko że programowanie to nuda xd
Dla mnie zwiedzanie jest nudne :)

Abik

Odp: Rozmówki o programowaniu
« Odpowiedź #5 dnia: Styczeń 25, 2010, 22:48:46 »
co kto lubi ; d ... i zależy od podejścia i celów w jakim się pisze :P bo takie pisanie byle czego na potrzeby przemysłu czy biznesu faktycznie może być nudne... ale tworzenie np. własnego komunikatora, odtwarzacza plików multimedialnych czy gry komputerowej już nudne nie jest na 100% :P

Sympatyk

  • *****
  • Podziękowania otrzymane: 44
  • Master of science
    • Zobacz profil
    • Moje
  • Ostatnie nagrody:
  • Layout of the Fortnight #45
Odp: Rozmówki o programowaniu
« Odpowiedź #6 dnia: Styczeń 25, 2010, 22:59:50 »
btw: Abik jak zrobic w Pythonie że po wczytanie liczby wymiernej jeśli w mianowniku będzie ZERO to wyrzuci wyjątek :)

Abik

Odp: Rozmówki o programowaniu
« Odpowiedź #7 dnia: Styczeń 26, 2010, 12:56:49 »
to zależy jak sobie zaimplementujesz liczby wymierne bo nie są wbudowane w pythonie o ile się nie mylę :s chociaż są różne biblioteki matematyczne dodatkowe, które je dodają

tak na szybko można by zrobić coś takiego:

class Wymierne(object):
   def __init__(self, licznik, mianownik):
      self.licznik = licznik
      if mianownik != 0:
         self.mianownik = mianownik
      else:
         raise RuntimeError, 'Zero w mianowniku'

no i dodać tam jeszcze jakieś metody, żeby można coś z taką liczbą zrobić :P ... no i u mnie jak sprawdzałem to działa, chyba, że pomyliłem liczby wymierne z czymś innym xD

Sympatyk

  • *****
  • Podziękowania otrzymane: 44
  • Master of science
    • Zobacz profil
    • Moje
  • Ostatnie nagrody:
  • Layout of the Fortnight #45
Odp: Rozmówki o programowaniu
« Odpowiedź #8 dnia: Styczeń 26, 2010, 15:41:59 »
Tak, ale co jesli chce żeby liczba Jedna liczba wymierna miała Jedną zmienną a nie tak jak u Ciebie osobna na licznik i mianownik ? :)
No i właśnie się zdenerwowałem bo na Uczelni ułameczki ładnie wchodziły a tutaj na chacie każdy ułamek jest równy 0 :)

Abik

Odp: Rozmówki o programowaniu
« Odpowiedź #9 dnia: Styczeń 26, 2010, 22:29:57 »
takie coś zrobiłem:

class Wymierne(object):
   liczba = 0
   def __init__(self, licznik, mianownik):
      if mianownik != 0:
         liczba = licznik/mianownik
      else:
         raise RuntimeError, 'Zero w mianowniku'

no i później sobie tworze obiekt i jako argumenty podaje 1 i 3, jak próbuję wyświetlić pole liczba to też mi pokazuje 0 tak jak Tobie :O ... dziwna sprawa, powinno przecież pokazywać coś koło 0.33333 o.O

Sympatyk

  • *****
  • Podziękowania otrzymane: 44
  • Master of science
    • Zobacz profil
    • Moje
  • Ostatnie nagrody:
  • Layout of the Fortnight #45
Odp: Rozmówki o programowaniu
« Odpowiedź #10 dnia: Styczeń 28, 2010, 18:18:38 »
heh śmiech na sali :)
żeby zaliczyć przedmiot o którym tutaj wcześniej pisałem to wystarczyło napisać w pythonie funkcje silnie obliczając ją rekurencyjnie i iteracyjnie :D
Abik pewnie byś takie cos potrafił :) a może z użycie reduce
Oczywiście inny mieli gorszą sytuacje :P

Abik

Odp: Rozmówki o programowaniu
« Odpowiedź #11 dnia: Styczeń 28, 2010, 20:31:32 »
:D
no rekurencyjnie byłoby tak:
def silnia(n):
   if n == 0:
      return 1
   else:
      return n * silnia(n-1)

a iteracyjnie chyba mogłoby być tak:
def silnia2(n):
   wynik = 1
   if n == 0:
      return wynik
   else:
      while n>0:
         wynik *= n * (n-1)
         n -= 2
      return wynik
ta iteracyjna niby też działa, ale jakoś brzydko wygląda o.O
ale zaliczyłbym ? xd
« Ostatnia zmiana: Styczeń 28, 2010, 20:33:59 wysłana przez Abik »

Sympatyk

  • *****
  • Podziękowania otrzymane: 44
  • Master of science
    • Zobacz profil
    • Moje
  • Ostatnie nagrody:
  • Layout of the Fortnight #45
Odp: Rozmówki o programowaniu
« Odpowiedź #12 dnia: Styczeń 29, 2010, 00:07:02 »
Rekurencyjnie jest OK
Iteracyjnie zrobiłem z pętlą for
def silnia_ite(x):
    wynik=1
    for i in range (x):
        wynik=wynik*(i+1)
    return wynik
mniej linijeczek od Ciebie i działa :)

Abik

Odp: Rozmówki o programowaniu
« Odpowiedź #13 dnia: Styczeń 29, 2010, 13:25:44 »
nieźle, w ogóle nie pomyślałem, żeby zamiast odejmować 1, dodawać 1, przez to tam się później wzięło te dziwne n-=2 :P
no ale ogólnie nie myślałem, że takie rzeczy wystarczą, żeby zaliczyć przedmiot :P inne przedmioty też tak łatwo zaliczyć czy więcej trzeba się pomęczyć? ;p

Sympatyk

  • *****
  • Podziękowania otrzymane: 44
  • Master of science
    • Zobacz profil
    • Moje
  • Ostatnie nagrody:
  • Layout of the Fortnight #45
Odp: Rozmówki o programowaniu
« Odpowiedź #14 dnia: Luty 02, 2010, 13:59:10 »
Ten przedmiot ma laborki i wykład.
Laborki zaliczyłem przez 100% obecności + te dwie funkcje silnii + program w javie(dziedzieczenie) + python(klasa wymierna)-to co się pytałem :)
a Wykład to UML-rachunek lambda i logika Hoera :)

Moja funkcja jest nawet szybka od Twojej mo u mnie czas jest równy theta(n) a u Ciebie theta(n^2) jeśli mnie pamięc nie myli :3

wszystko zależy od prowadzących ale osobiście się nie przemęczam :)

Już wiem czemu wpisując
>>> 1/2
0
Otrzymywaliśmy 0, sprawa jest b. prosta ponieważ tutaj jest dzielenie dwóch liczb CAŁKOWITYCH zatem bez reszty.
Jeśli chcemy żeby wynik był taki jaki oczekumy czyli 0.5 to musimy wpisać
>>> 1.0/2; 1/2.0
0.5
0.5
Jedna liczba musi być RZECZYWISTA :)
Teraz żeby to przenieść do jakiś funkcji czy klasy to przecież użytkownik nie będzie wpisywał liczb rzeczywistych tylko całkowite zatem najproście jest wynik "sFLOATować"
a=input('Podaj a: ')
b=input('Podaj b: ')
print 'Wynik: ',float(a)/b
« Ostatnia zmiana: Luty 02, 2010, 14:03:14 wysłana przez Sympatyk »

Abik

Odp: Rozmówki o programowaniu
« Odpowiedź #15 dnia: Luty 02, 2010, 14:08:28 »
:D
ehh, to ładnie xd strasznie wkurzające takie mikro problemy czasem są w programowaniu :P no ale dobrze, że na to wpadłeś ^^

Sympatyk

  • *****
  • Podziękowania otrzymane: 44
  • Master of science
    • Zobacz profil
    • Moje
  • Ostatnie nagrody:
  • Layout of the Fortnight #45
Odp: Rozmówki o programowaniu
« Odpowiedź #16 dnia: Luty 09, 2010, 13:23:31 »
Abik bo zaraz mnie cholera weźmie.
Jak zamienic plik pythona na wykonywalny?

Podobno py2exe jest kiepski na graficzne programy dlatego odpada.
Nawet przez CX-Freeze próbowałem ale Lipa

Abik

Odp: Rozmówki o programowaniu
« Odpowiedź #17 dnia: Luty 09, 2010, 17:53:54 »
no ja używałem py2exe tylko do konsolowych programów, więc nie wiem czy na pewno jest słaby w programach z gui, ale tu pisze, że daje radę też z gui: http://logix4u.net/Python/Tutorials/How_to_create_Windows_executable_exe_from_Python_script.html więc może warto spróbować? :P bo po za nim to za bardzo nie ma alternatyw niestety :/ :S

Sympatyk

  • *****
  • Podziękowania otrzymane: 44
  • Master of science
    • Zobacz profil
    • Moje
  • Ostatnie nagrody:
  • Layout of the Fortnight #45
Odp: Rozmówki o programowaniu
« Odpowiedź #18 dnia: Marzec 04, 2010, 12:43:20 »
Nadeszła i ta chwila że ja zacząłem programowac w Asemblerze.
Ciekawa sprawa, kolega po 2h jak poznał ten język poszedł do tablicy :)
W sumie to nie jest on taki straszny jedynym problemem jest znajomośc kontrolera na którym go odpalimy. Gdzie jakie porty są ale na PWr wszystko jest ładnie napisane, tylko zastanawiałem się jak mogę w domu sprawdzic czy program działa nie mając kontrolera przy sobie? mogę jedynie sprawdzic krok po kroku ale to i tak lipa.
Abik jakie środowisko do asemblera masz? :)

Abik

Odp: Rozmówki o programowaniu
« Odpowiedź #19 dnia: Marzec 04, 2010, 17:52:42 »
nasm i fasm :D fasm ma ekstra dokumentacje, dużo przykładowych programów, ogólnie ekstra jest, ale ja tylko pod x86 pisałem, pod żadne inne architektury nic nie robiłem :P

Sympatyk

  • *****
  • Podziękowania otrzymane: 44
  • Master of science
    • Zobacz profil
    • Moje
  • Ostatnie nagrody:
  • Layout of the Fortnight #45
Odp: Rozmówki o programowaniu
« Odpowiedź #20 dnia: Marzec 10, 2011, 00:38:09 »
Odkopie bo ciekawy temacik :)

Cytuj
Osobiście za Javą nie przepadam bardziej wolę C++ choc języki również podobne składniowo.
Nastawienie się zmieniło, aktualnie wole pisac w Javie niż w C/C++.
Poznałem ją trochę bardziej i teraz aplikacje tylko w niej piszę.

Doszedł "głupi" język jakim jest PHP.
Żadnych typów nie ma, nic nie trzeba wcześniej deklarowac.
Przejście z PHP do jakiegoś innego typu Javy jest ciężkie.

Abik

Odp: Rozmówki o programowaniu
« Odpowiedź #21 dnia: Marzec 10, 2011, 16:12:31 »
no z wyższego do niższego poziomu jest ciężkie, ale w drugą stronę jest bardzo przyjemne :D
a to, że nie trzeba typów przydzielać ma zalety i trochę odciąża, z resztą do małych rzeczy języki skryptowe się nadają :D do dużych ofc mniej :P

najlepszy i tak jest assembler! : D
« Ostatnia zmiana: Listopad 17, 2012, 17:01:04 wysłana przez Abik »

Eizzy

  • *
  • Podziękowania otrzymane: 0
    • Zobacz profil
Odp: Rozmówki o programowaniu
« Odpowiedź #22 dnia: Sierpień 12, 2013, 10:42:30 »
cześć :D troszeczkę odświeże temat i powiem, że ciekawe rzeczy piszecie :D ja ogólnie coś próbuję w C++ (przedmiot w szkole), ale idzie ciężko, a nie mam na tyle motywacji żeby samemu się uczyć w domu, ale trzeba bedzie sie wziąć do roboty :)

Kaczy

  • *
  • Podziękowania otrzymane: 1
    • Zobacz profil
    • www.Luzzak.pl
Odp: Rozmówki o programowaniu
« Odpowiedź #23 dnia: Sierpień 12, 2013, 13:29:46 »
czyć w domu, ale trzeba bedzie sie w

Jeśli Cię to interesuje, to i motywacja się znajdzie :) Ważne byś nie poddał się widząc poradniki. Są one bowiem pisane przez ludzi już programujących dla (mimo dopisku "od podstaw") innych ludzi, którzy z programowaniem mieli do czynienia. Jeśli znajdziesz osobę, która Cię przez podstawy poprowadzi, to potem już z górki :)

Abik

Odp: Rozmówki o programowaniu
« Odpowiedź #24 dnia: Sierpień 13, 2013, 16:06:32 »
C++ mimo wszystko nie jest prosty, więc jakby co to polecam http://xion.org.pl/productions/texts/coding/megatutorial/ :D

dawidoo

  • *
  • Podziękowania otrzymane: 0
    • Zobacz profil
Odp: Rozmówki o programowaniu
« Odpowiedź #25 dnia: Wrzesień 16, 2013, 09:33:53 »
C++ jest trudnym językiem bo nie ma tyle ułtwień co np java ale za to jest znacznie szybszy i zużywa mniej pamięci, Ja w c++ najwieksze problemy miałem ze wskaźnikami i wskaźnikami do wskaźników ;)

Lysander

  • *****
  • Podziękowania otrzymane: 202
    • Zobacz profil
  • Ostatnie nagrody:
  • Layout of the Fortnight #42
  • Layout of the Fortnight #27
Odp: Rozmówki o programowaniu
« Odpowiedź #26 dnia: Wrzesień 20, 2013, 14:47:28 »
Kilka dni temu zaczął się kurs "Functional Programming Principles in Scala" prowadzony przez samego autora Scala'i (ma trochę ciężki akcent, ale da się go zrozumieć oraz nie jest tak, że oglądanie wykładów jest obowiązkowe; istnieje dużo innych źródeł, jak np. niedawno zaktualizowana Scala by Example(pdf) oraz wiele innych). Wciąż można się zapisać lub zobaczyć materiały z poprzedniej edycji kursu (które na ten moment pokrywają się z materiałami aktualnie trwającego, łącznie z zadaniami): https://www.coursera.org/course/progfun
Zdecydowanie nie jest to wstęp do programowania
Give sanity a longer leash  |  H+ 

Abik

Odp: Rozmówki o programowaniu
« Odpowiedź #27 dnia: Wrzesień 21, 2013, 20:27:42 »
Lysek kodzisz w scali? : >

Lysander

  • *****
  • Podziękowania otrzymane: 202
    • Zobacz profil
  • Ostatnie nagrody:
  • Layout of the Fortnight #42
  • Layout of the Fortnight #27
Odp: Rozmówki o programowaniu
« Odpowiedź #28 dnia: Wrzesień 21, 2013, 22:45:53 »
Właśnie się uczę
Give sanity a longer leash  |  H+ 

Abik

Odp: Rozmówki o programowaniu
« Odpowiedź #29 dnia: Wrzesień 22, 2013, 20:07:17 »
kiedyś czytałem dużo dobrego o niej, ale nie miałem okazji spróbować. myślisz, że powinienem to zrobić? :D

Lysander

  • *****
  • Podziękowania otrzymane: 202
    • Zobacz profil
  • Ostatnie nagrody:
  • Layout of the Fortnight #42
  • Layout of the Fortnight #27
Odp: Rozmówki o programowaniu
« Odpowiedź #30 dnia: Wrzesień 22, 2013, 23:52:29 »
Jeżeli nie znasz już innego podobnie mieszanego języka (obiektowy + funkcyjny) to zdecydowanie warto rzucić okiem co oferuje i jak się to ma w stosunku do już znanych Ci języków


Ale krótko mówiąc to Scala > all
« Ostatnia zmiana: Wrzesień 22, 2013, 23:55:44 wysłana przez Lysander »
Give sanity a longer leash  |  H+ 

Abik

Odp: Rozmówki o programowaniu
« Odpowiedź #31 dnia: Wrzesień 26, 2013, 22:19:44 »
Ale krótko mówiąc to Scala > all
:D
generalnie nie słyszałem innych opinii ludzi pośród ludzi, którzy jej spróbowali. może rzeczywiście coś w sobie ma
w każdym razie, miło słyszeć, że ktoś zaufany też ją poleca :*

Lysander

  • *****
  • Podziękowania otrzymane: 202
    • Zobacz profil
  • Ostatnie nagrody:
  • Layout of the Fortnight #42
  • Layout of the Fortnight #27
Odp: Rozmówki o programowaniu
« Odpowiedź #32 dnia: Styczeń 05, 2014, 01:26:43 »
Późny update na temat kursu "Functional Programming Principles in Scala", o którym pisałem wcześniej: skończyłem, polecam. Wciąż uważam, że nie jest to wstęp do programowania, ale po fakcie uważam, że 1 - 0.5 roku doświadczenia z tą dziedziną wystarczy. W szczególności warte uwagi są zadania.

Wziąłem również udział w pierwszej edycji "Principles of Reactive Programming" (https://www.coursera.org/course/reactive), który był niejako kontynuacją "Functional Programming ..." - skończyłem, polecam. Trudniejszy, trochę niedopracowany, ale z pewnością doczeka się poprawek w kolejnych edycjach, które bez wątpienia pojawią się kiedyś w przyszłości.

Po tych kilku miesiącach intensywnego używania Scali (nie tylko w kursach!) przechodzę na odwyk z PHP (i AngularJS)
« Ostatnia zmiana: Styczeń 05, 2014, 01:29:54 wysłana przez Lysander »
Give sanity a longer leash  |  H+ 

Sabina896

  • *
  • Podziękowania otrzymane: 0
    • Zobacz profil
Odp: Rozmówki o programowaniu
« Odpowiedź #33 dnia: Kwiecień 23, 2017, 11:45:19 »
Z doświadczenia wiem, że każdy język programowania posiada swoją charakterystykę i z tego względu możemy dostosować go do swoich potrzeb. Programuję strony internetowe i jestem przekonana, że rozszerzenia Javascriptu z pewnością mają swoją przyszłość.