• 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