• Welcome to Forum graficzne Burning-Brushes.pl. Please log in or sign up.
 

Rozmówki o programowaniu

Zaczęty przez Abik, Styczeń 23, 2010, 22:14:56

Poprzedni wątek - Następny wątek
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

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.
Cytatostatnio 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.
Cytatasembler
Szacun :) tak "nisko" zszedłeś :D

CytatMam 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

CytatSzacun :) 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 ^^

ja powiem tylko że programowanie to nuda xd

CytatI 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

Cytat: Moonmaker w Styczeń 25, 2010, 23:31:04
ja powiem tylko że programowanie to nuda xd
Dla mnie zwiedzanie jest nudne :)

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

btw: Abik jak zrobic w Pythonie że po wczytanie liczby wymiernej jeśli w mianowniku będzie ZERO to wyrzuci wyjątek :)

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

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 :)

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

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

: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

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 :)

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

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

:D
ehh, to ładnie xd strasznie wkurzające takie mikro problemy czasem są w programowaniu :P no ale dobrze, że na to wpadłeś ^^

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

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

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? :)

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

Odkopie bo ciekawy temacik :)

CytatOsobiś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.

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

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 :)

Cytat: Eizzy w Sierpień 12, 2013, 13:42:30czyć 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 :)


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 ;)

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+ 


Właśnie się uczę
Give sanity a longer leash  |  H+ 

kiedyś czytałem dużo dobrego o niej, ale nie miałem okazji spróbować. myślisz, że powinienem to zrobić? :D

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
Give sanity a longer leash  |  H+ 

Cytat: Lysander w Wrzesień 23, 2013, 03:52:29Ale 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 :*

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)
Give sanity a longer leash  |  H+ 

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ść.