» »

Kateri programski jezik?

Kateri programski jezik?

i33a ::

Vem, teh tem je bilo že veliko, a me vseeno zanima kaj menite kaj je najboljše v mojem primeru.
Učil sem se že nekaj jave, c++ a le osnove(if, switch, stavki, spremenljivke, še nekaj drugih stvari...).
Ne vem kje bi nadaljeval, rad bi pa:
-Želim programirati aplikacije, izbiral bom med: C, C++, Java, Python, C#.
-Da bi se dalo dokaj enostavno reševati naloge tekmovanja za računalništvo: http://rtk.ijs.si/
-Programski jezik z katerim bi enkrat v prihodnosti(ali pa z učenjem tega jezika in prehodom na drugega) služil.
-Da je veliko dobrih vodičev za ta jezik(prosim povejte naslov spletnih strani in knjig).

Kateri jezik priporočate? Zakaj?

krneki0001 ::

Java ali pa C#, če hočeš na nekaj na hitro zaslužit (in delat ko črnc za male pare), Python pa če se želiš naučiti lepega in pravilnega programiranja.

napsy ::

C# je sicer dober vendar morda prezapleten jezik. Priporocam python in njegov pythonski nacin programiranja. Z malo vrstic lahko dosezes precej.
"If you die, you die. But when you live you live. There is no time to waste."

BStne ::

C# prezapleten,pa ne ga hecat. Jst glasujem za c# all the way. C# za male pare in delat kot črnc wtf, python služb je pa res veliko in dobro plačanih.

detroit ::

fantek moj zlati (ja ti brimstone) VSI programski jeziki so preprosti (če so le logični in ne kak čungalunga homemade shit). Če se ti zdi c# preprost in python ne?! potem dvomim da poznaš 10% katerega koli od obeh:)
Skero

l0g1t3ch ::

Tako python kot C# sta oba čist lepo razumljiva in nekomplicirana.

BStne ::

kdaj sem rekel da pyhton ni preprost (čeprav je to relativno kakor za koga), če ti je pa c# prezakompliciran potem pa najbrž nisi za programiranje fantek

detroit ::

prehitro sm sklepal, da si to mislil, ampak ti pa brat ne znaš preberi še enkrat..oče
Skero

BStne ::

oče in fantek se pobotata in priznata da ne znata brati :P

detroit ::

agreed:]

noben programski jezik ni preprost ampak večinoma so vsi kompleksni. C# bi jaz osebno rekel, da je kar kompleksen (pa s tem ne mislim samo obširen). Vsi so pa logični in s tem posledično lahki za razumevanje, ki pride s prakso....veliko nje:D

Jaz bi na njegovem mestu nadaljeval z javo nekaj malega časa. Glede na to da je enaka kot c# (oz. obratno c# je enak kot java) ne bo imel problemov potem prešaltat na mogoče malenkost bolj mainstream c#.
Skero

brodul ::

Od naštetih poznam vse razen C#.
In pomoje se da z vsemi služit, če jih dovolj dobro znaš.
Mogoče z Javo in C#, z najmanj truda dobiš delo.
Pri python lahko delaš za tujino (finska, 20EUR/uro, Plone) pa tudi pri nas je čedalje bolj popularen.

Na različnih področjih so različno razširjeni.
Če si linux uporabnik je dokaj logična odločitev uporaba python, ki ga lahko uporabljaš na vseh področjih. Če te zanima še kaj bolj nižje je dobro znati tudi C in C++.
Na Windowsih pa priporočam Javo.

Za C je tole kr vredu glede osnov:
C - Fajfar

Za python:
Zelo osnovno
Bolj napredno
Če kaj ne razumeš

Upam, da nisem izpadel preveč fanboy. :D
Pretending to be a mature adult is so exhausting.

krneki0001 ::

Za vsa področja je uporaben tudy ruby.

KaRkY ::

Priporočam JAVA ali pa C#. C in C++ če si rahel mazohist. Python pa koliko sem jaz gledal je nek špaget ki nima smisla(mi je bolj všeč sintaksa C,C++,JAVA,C#).
When you look long into an abyss, the abyss looks into you

krneki0001 ::

karky phyton je programski jezik s katerim se naučiš lepo, pregledno in dobro programiranje.

Ne da nima smisla, za učenje je odličen, ker če potem že samo obliko in preglednost uporabljaš pri drugih programskih jezikih, lahko za teboj kdo vsaj popravlja, medtem ko za večino programerjev, ki so se učili v javi ali C# programiranja, je težko popravljat.

KaRkY ::

@nebivedu
Python:
class MyClass:
    """A simple example class"""
    i = 12345
    def f(self):
        return 'hello world'

Java:
public class MyClass{
   public int i = 12345;
   //Nevem če je v prejšnem primeru bilo mišljeno to
   public static String f(){
       return "Hello world";
   }
}


Javina koda ni čist 1-1 z Python ampak meni je Java definitivno bolj pregledna. Že z pogledom na definicijo spremenljivke vidim kaj lahko delam z njo in kaj ne. Že takoj ko pogledam program vidim kje so metode kako daleč sežejo itd.. Pri Pythonu pa tega ne vidim moraš dejansko dobro pogledat od kod do kod sega metoda.
When you look long into an abyss, the abyss looks into you

urosz ::

KaRkY se strinjam s tabo .. ;)

detroit ::

KaRkY je izjavil:

@nebivedu
Python:

class MyClass:
"""A simple example class"""
i = 12345
def f(self):
return 'hello world'

Java:

public class MyClass{
public int i = 12345;
//Nevem če je v prejšnem primeru bilo mišljeno to
public static String f(){
return "Hello world";
}
}


Javina koda ni čist 1-1 z Python ampak meni je Java definitivno bolj pregledna. Že z pogledom na definicijo spremenljivke vidim kaj lahko delam z njo in kaj ne. Že takoj ko pogledam program vidim kje so metode kako daleč sežejo itd.. Pri Pythonu pa tega ne vidim moraš dejansko dobro pogledat od kod do kod sega metoda.

Jaz bi bil težko objektiven tukaj, ker sem ulaufan do neke mere v c# (in s tem tudi javo) v python pa bolj ne. Sicer subjektivno ampak meni je tudi malenkost lažje berljiva java tam gor. Z leti prakse pa ne vem kateri bi bil lažji:)
Skero

Fresh-Grass ::

Sam sem začel s C++ to poletje in sem kr hitro "not pado". Ko sem potem poskusil še s C#, mi je bil kot cuker, prav užitek mi je programirat v njem, zato ker je sintaksa tako berljiva. Poleg tega pa se ne rabiš ukvarjat z nizko-nivojskimi stvarmi, tako kot pri C++. Ti pa C# da možnost, da se, če je pač treba.
Sicer ne poznam dobro Jave, ampak pri C# je na primer multi-threading zelo enostaven, potem pa še imaš take "dobrote" kot so lambda izrazi (anonimne metode oz. funkcije) in delegati/eventi (funkcija kot neke-vrste spremenljivka).

Če imaš željo delat aplikacije z grafičnim vmesnikom, potem mislim, da je C# sploh zelo dobra izbira (WinForms ipd). Se splača tudi že zaradi tega, ker je toliko popularen, da boš z googlanjem bolj redko našel kako vprašanje, ki še ni bilo odgovorjeno in raziskano. Za kake članke pa je C# Corner dobra stran.

phyro ::

Karky: mogoče si se od zacetka naucil na tak stil. Posledično, ti je tudi tista javina sintaksa bolj domača

Sicer pa glede topica, zacni s pythonom imo. Sicer kaksne naloge z online judgi bi ti vrgle time limit exceeded, pa vseeno.

Zgodovina sprememb…

  • spremenil: phyro ()

KaRkY ::

@phyro ja sem od vsega začetka na C style sintaksi in mi je vse kar ni podobno zelo težko berljivo. Meni osebno je JAVA zelo berljiv jezik še posebej če se nekdo drži par osnovnih pravil programiranja.
When you look long into an abyss, the abyss looks into you

Spura ::

Jst moram na zalost za job programirat v Javi in je kr crap. Faking COBOL 21. stoletja.

krneki0001 ::

Spura cobol je čisto v redu. Nekateri še v assemblerju in cobolXT programiramo (cobolXT - ne pozna zanke v zanki). Pa v cobolu za windows (netexpress) tudi. zadeva deluje še vedno brez problemov. Pa hitrejše dela kot programi v javi.

Spura ::

Koga boli, ce zadeva dela brez problemov in kok hitro dela. Po istem argumentu bi lahko kr vsi v assemblerju delal ker je itak najhitrejsi pa vse se da naredit. Java je omejujoc in zastarel jezik, kjer vsak dan kolnem, ker naletim na problem, ki ga ne morem elegantno resit, ker sm omejen v izrazanju in porabim do 10x vec casa za kodiranje dolocenih delov programa kot bi moral (da ne omenjamo grde kode). Primerjava s COBOLOM je zato tu, ker v obeh primerih gre za crap jezik s celo kupico napisane kode, ki jo bo potrebno vzdrzevat.

Sergio ::

Example, Spura?
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

krneki0001 ::

Spura, če rabiš 10x več časa za kodiranje določenih delov programa, bi rekel, da si slab programer ali pa ko kljuse s plašnicami, ki vidi samo naravnost. Imamo par takih programerjev tudi mi. Raje 10x dlje in naokoli, kot pa da bi kako novo zadevo uporabil ali se naučil kaj boljšega. V javi se da vse narest, pa ni nujno da po ovinkih.

Pač niste vsi za programerje, sam se s tem nočete sprijaznit. Ni treba da je vsak ,ki misli da zna programirat, tudi programer.

Glede cobola - crap ali ne, večina svetovnih bank ga še vedno uporablja, pa nekatere so šle že pred leti naprej, in so ugotovile, da so naredile napako in so šli nazaj na cobol. Služba zagarantirana. Pa ni nič grda koda, se da ve lepo in elekantno rešit. Ni pa tako lepo podpisovana kot v phytonu, ki pa na tem bazira.

Zgodovina sprememb…

detroit ::

yep moja kolegica je šla na nlb pa baje jo iz jave preučujejo v cobol:D
Skero

MrBrdo ::

Moji najljubši jeziki so (v tem vrstnem redu): Ruby, JavaScript, C#, IA32 assembler, C++. Uporaba je odvisno od namena :). Stvar okusa. Za začetnika bi rekel da je najlažje C#.NET, ker imaš designer za forme (+VS.NET Express je zastojn). Java je ok vendar meni je pri C# vse bolj všeč, razen portabilnosti na druge platforme. Python mi pa nikoli ni bil preveč... Je Ruby 10x boljši :P Odsvetujem pa PHP ker je slab jezik. Je pa včasih nujno zlo, na žalost, za nas ki smo v webu...
MrBrdo

Zgodovina sprememb…

  • spremenilo: MrBrdo ()

l0g1t3ch ::

In kaj je pri Ruby-u bolšega v primerjavi z pythonom ? Po izrazni moči sta tam tam, sintaksa je pa stvar okusa.

Pa zdi se mi d je python mnogo bolj široko uporaben kot pa ruby-a, se mi zdi da je ruby večinoma omejen na web v navezi z rails frameworkom.

techfreak :) ::

Z Ruby in Pythonom lahko narediš enake stvari, razlika je bolj v tem, katera sintaksa ti je všeč. Res pa je, da je RoR zelo popularen framework.

MrBrdo: PHP niti ni tako slab, ampak večina ljudi ga ne pozna dovolj in programira slabo. Se pa tudi z njim lahko programira dobro in učinkovito (osebno mi je njegova sintaksa še vseeno bolj všeč kot pa Ruby/Python).

PHP + dober framework + dober ORM in si že zelo blizu RoRu.

MrBrdo ::

l0g1t3ch: Izrazna moč je tam tam ja. Ima pa ruby block in python ma ful neumno za lambdo sintakso (v primerjavi z rubyjem kjer je mnogo krajša, sploh za block). Nikakor ni Python slab jezik (čeprav threading ma pa tut v kurcu :P). Na konceptualni ravni sta si pa jezika zelo različna. V bistvu vse zavisi na katero stran se postaviš pri temle vprašanju There's more than one way to do it @ Wikipedia Čeprav tule na wikipediji je mal biased napisano :) Koda v Rubyju ko jo bereš je res lepa in predvsem zabavna (ko si rečeš o kok je na hud način to napisal). V Pythonu je pa dolgočasna, ponavadi je vedno vse na isti način itd. Se pa strinjam s tabo da je recimo za desktop aplikacije več libov za Python. Čeprav jih je kar dosti tudi za Ruby (za Gtk recimo maš čist lepo). Te blocki so res tok genialni, ko se jih enkrat navadiš ti ful manjkajo pri vseh drugih jezikih... V JDK7 mi je všeč k so nekaj podobnega dodali :)
techfreak: največji problem v PHPju je zame to da so naredil OOP ampak so "pozabili" cel stdlib prepisat v OOP... Nevem kaj so potem dodajal ker me je nehal zanimat. Vidim da celo lambda izraze zdaj podpira samo nisem še nikol videl da bi kdo to uporabljal. Zdaj ko je pa Ruby tudi performančno prehitel PHP pa sploh ne vidim razloga zakaj bi ga hotel uporabljat. Kak framework se mogoče približa Railsom (ampak res bolj na približno), samo to je še vedno B klasa vs. A klasa. Za kakšne druge aplikacije pa itak skor nihče ne uporablja PHPja. Edina prednost PHPja je pač da je praktično na vseh serverjih.

V glavnem vsak ma svoj okus. Za web se splača dat priložnost tudi Rubyju ;) Za desktop pa jaz osebno večinoma delam v C#.NET (čeprav moram IronRuby.NET probat hehe). GUI-less pa v C++/boost (zarad hitrosti). S tem mam praktično vse pokrito.
Če se lahko še na hitro dotaknem Django vs. Rails. Problem Djangota je da ni dovolj modularen, najbolj me moti administrativni del. Medtem ko je Rails (še posebej 3!) popolnoma modularen in lahko katerokoli komponento zamenjaš (npr. za templating lahko uporabiš karkoli, za ORM karkoli, v glavnem lahko vse zamenjaš). Imaš pač neko default izhodišče potem pa ga lahko skoraj popolnoma prilagodiš temu kar rabiš. Pri Djangotu je precej bolj problematično to. Spet ta "one way to do it" zadeva...

Lahko pa probamo en štos pa napišemo najbolj berljivo pa še najkrajše izpis vseh lihih števil med 100 in 1 v padajočem vrstnem redu (ravno zadnjič me je en vprašal za ruby hehe). V Rubyju bi šlo takole:
# najbolj berljivo
100.downto 1 do |number|
  puts number if number.odd?
end

# najkrajše
50.times{|i|p 99-i*2}

Lahko tudi kak drug primer če kdo želi :) Sploh za krajše me zanima če komu rata hehe..
MrBrdo

Zgodovina sprememb…

  • spremenilo: MrBrdo ()

KaRkY ::

Ta tvoj primer v Groovy:
99.step(1, -2){print it}
When you look long into an abyss, the abyss looks into you

Zgodovina sprememb…

  • spremenil: KaRkY ()

Gost ::

Vedno je pri uporabi jezika vprašanje tudi glede povpraševanja na trgu. Če se omejim na web, se mi RoR še vedno zdi precej ekstotičen v poslu in ga uporablja tako majhno število ljudi, da raje presedlaš na dobri stari in še vedno zelo učinkoviti php na koncu.

arjan_t ::

Če smo že pri primerjavah ...

Še clojure:
(doseq [f (filter odd? (range 100 0 -1))] (println f))

MrBrdo ::

Gost: Ja glede tega imaš verjetno prav. Kar se tiče povpraševanja po delovni sili ga je za RoR res precej malo. Za Python se pa že kar najde.
MrBrdo

krneki0001 ::

Jst ruby uporabljam namesto C ali C++ kadar je treba na hitro kej več podatkov na kakem pc-ju zmlet, uredit, sortirat, ... .
Potem pa ko nardim programček, ga z ocra gemom pretvorim v exe in lahko laufa na vsakem pc-ju.

napsy ::

Osebno bi trenutno priporocal programski jezik Go. Je objektno usmerjen (vendar brez dedovanja tipov), samodejno upravljanje s pomnilnikom, v primerjavi z ostalimi jeziki precej manj kompleksen (okoli 50 strani specifikacije), ima bogato standardno knjiznico, po hitrosti izvajanja programa se pribliza programu napisanem v C, vgrajeno podporo za socasno izvajanje.

Obstaja ze nekaj zacetnih web frejmworkov za pisanje spletnih aplikacij, mozna je povezljivost z jezikom C, uradno so podprti sistemi Os X, Linux, FreeBSD, Windows (neuradno poleg prevajalnika se tudi Go interpreter).

Edina slabost, ki jo trenutno vidim je starost jezika. Kar pomeni, da se ni precej razsirjen. Vendar njegova uporaba se stalno siri.
"If you die, you die. But when you live you live. There is no time to waste."

KaRkY ::

@napsy kako si predstavljaš objektno usmerjen jezik brez dedovanja, če pa je to glavna karakteristika objektne usmerjenosti. Plus že hello world ti pokaže da je ta jezik strukturni in ne objektni. V bistvu je toliko objektni kot JavaScript.
When you look long into an abyss, the abyss looks into you

napsy ::

Se bom popravil. Stvari so bolj zapletene: http://golang.org/doc/go_faq.html#Is_Go...

Seveda če ni objektno-usmerjen v klasičnem pomenu kot so Java/C# še ne pomeni, da je jezik slab. Ravno nasprotno. Prinaša nove ideje in kakor berem odzive ljudi, ki Go uporabljajo za resnejše projekte, so do sedaj precej zadovoljni z njim.
"If you die, you die. But when you live you live. There is no time to waste."

Zgodovina sprememb…

  • spremenil: napsy ()

noraguta ::

sam ne vidim prav nobene inovacije v go-ju. na hitro pogledano se mi zdi neka skrajno slaba imitacija ocaml-ja.
Pust' ot pobyedy k pobyedye vyedyot!

napsy ::

Go je imperativni jezik in z ocaml nima kaj dosti skupnega. Ce ga ze primerjas z deklarativnim jezikom je prej podoben Erlang.
"If you die, you die. But when you live you live. There is no time to waste."

MrBrdo ::

V glavnem ni nič posebnega, še posebej v primerjavi z kakšnim Ruby, F#...
MrBrdo

napsy ::

Posebnost je v tem, da pozna runtime reflection, delegate, interfaces, "lahke threade", mocno tipiziraje, hkrati pa je preveden jezik, ki ne potrebuje dodanega navideznega stroja.
"If you die, you die. But when you live you live. There is no time to waste."

noraguta ::

runtime reflection, delegate
aja a obstaja še kak drugačen reflection? Ruby ker je dinamično tipiziran jih niti ne nuca, f# to ima pa še kaj več. Intrefaces pustimo ob strani, ker jezik s tako slabo tipizacijo niti tega niti ne rabi. Na koncu so interfaces v go zgolj neoverjene pogodbe med funkcijami. In ja go se deklarira kot funkcijski jezik(najlepše se vidi pri switch stavku kateri dela nad "tipi" in je zgolj bledo posnemanje mljevskega match stavka), čeprav je kakofoničen. Erlangu ni podoben v ničemer. Lahke niti he he he, kaj naj bi to bilo korutine, niti, vlakna? Na koncu ti ne pomagajo nič ker jezik ne delati z nobeno "naprednejšo" procesno algebro niti z aktorji. Oz stvari delujejo natanko tako kot pri ostalih "nekonkurenčnih" jezikih.
Pust' ot pobyedy k pobyedye vyedyot!

Zgodovina sprememb…

  • polepsal: Mavrik ()

napsy ::

Ok prvic ... go je imperativni jezik, funkcijski jeziki so druga kategorija (seveda je velik lastnosti prenesenih iz funkcijskih jezikov). Vsak objekt v Go implementira prazen interface, zato tudi tisti type switch deluje. Interfesi so se kako pomemben koncept pri Go ampak treba je prej kaj napisat v jeziku da to opazis. Lahki threadi delujejo zato, ker so visja abstrakcija sistemskih threadov. Se pravi lahko imamo tisoc "lahkih threadov", ki se bodo poganjali v enem samem sistemskem threadu. Poleg tega so ti lahki threadi del specifikacij jezika in jezik ponuja za niti posebno sintakso. Podobnost z Erlang je ravno pri teh lahkih threadih.

Ampak kakorkol ne da se mi prepirat .... Hotel sem povedat da se splaca malce sprobat ta jezik ker zgleda obetaven, posebej ce ti sistemsko programiranje ni tuje (npr. Go je zelo vsec C programerjem).
"If you die, you die. But when you live you live. There is no time to waste."

Zgodovina sprememb…

  • spremenil: napsy ()

WarpedOne ::

Me like Defer.

GUI?
Are you not tired of being wrong again and again?

napsy ::

Uradne podpore za GUI ni, vendar obstaja povezava za Gtk+, ki pa se tudi ne vsebuje vseh gradnikov.

Sicer pa za informacijo ... Prihajajoci gcc 4.6 bo verjetno ze v standardni distribuciji vseboval go prevajalnik.
"If you die, you die. But when you live you live. There is no time to waste."

Ales ::

Sam bi rekel python.

Mimogrede, kake izkušnje imate s python in PHP frameworki?

Sam sem na koncu pristal na web2py in CakePHP.

noraguta ::

napsy je izjavil:

Ok prvic ... go je imperativni jezik, funkcijski jeziki so druga kategorija (seveda je velik lastnosti prenesenih iz funkcijskih jezikov). Vsak objekt v Go implementira prazen interface, zato tudi tisti type switch deluje. Interfesi so se kako pomemben koncept pri Go ampak treba je prej kaj napisat v jeziku da to opazis. Lahki threadi delujejo zato, ker so visja abstrakcija sistemskih threadov. Se pravi lahko imamo tisoc "lahkih threadov", ki se bodo poganjali v enem samem sistemskem threadu. Poleg tega so ti lahki threadi del specifikacij jezika in jezik ponuja za niti posebno sintakso. Podobnost z Erlang je ravno pri teh lahkih threadih.

Ampak kakorkol ne da se mi prepirat .... Hotel sem povedat da se splaca malce sprobat ta jezik ker zgleda obetaven, posebej ce ti sistemsko programiranje ni tuje (npr. Go je zelo vsec C programerjem).

Kakšna veličatna volja in kako malo znanja.
začniva kar o funkcijskosti. iz fakju:
Why is len a function and not a method?


glede type switcha in interface-ov. Naj ti bo že enkrat jasno da so leti posledica "Structural type systema" in ne obratno. ta pa je le slaba kopija Ocamla.Gre za povsem dobro definiran in znan sistem, daleč od tega kar trobijo avtorji na googlovi strani , kjer ti dajo občutek , da orjejo ledino. podobno je z defer kar je le drugo ime za lazy evaluation.

glede perspektivnosti pa bog pomagaj. grd in smotan je do amena.
Pust' ot pobyedy k pobyedye vyedyot!

WarpedOne ::

glede perspektivnosti pa bog pomagaj. grd in smotan je do amena.

Vse je relativno, zato moraš zram povedat v primerjavi s čim to trdiš.
Če je Go grd in smotan do amena, kaj potem na primer ni?
Da vem, a tvojo oceno vzamem kot koherentno al le še eno usrano rit... ehm, mnenje.
Are you not tired of being wrong again and again?

kopernik ::

"Lahke niti" so verjetno t.i. green threads ? Za določene vrste scenarijev in določen način razvoja zelo uporabna stvar. Pri Erlangu je to v povezavi z 'actor' modelom jasno velika prednost, ko delaš večinoma serverske aplikacije z mislijo na sočasnost in porazdeljenost, saj ti taka abstrakcija močno olajša delo. Pojavljajo se tudi debate uporabi pri razvoju desktop aplikacij zaradi prisotnosti več procesorjev, ampak bomo še videli. Tukaj se še krešejo mnenja.

Še za avtorja teme: predlagam Python. Odličen tako za začetnike kot tudi potem za reševanje zahtevnejših problemov.

Zgodovina sprememb…

  • spremenil: kopernik ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Python najbolj vroč programski jezik (strani: 1 2 3 )

Oddelek: Novice / Ostala programska oprema
12210605 (4959) BigWhale
»

Učenje programiranja (strani: 1 2 )

Oddelek: Programiranje
8511669 (8272) Spura
»

Svetla prihodnost za Ruby? (strani: 1 2 )

Oddelek: Programiranje
504858 (3308) MrBrdo
»

[FORK] PHP kot jezik

Oddelek: Programiranje
352561 (1900) [MYTiX]
»

[python] prednosti in slabosti

Oddelek: Programiranje
132092 (1668) Gundolf

Več podobnih tem