DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > Programiranje
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

Programiranje Java, Perl, VB, ASP, .NET, C, C++, Pascal, Delphi Sponzor: VIP izazov 3

Odgovori
 
Alati teme Način prikaza
Staro 17. 01. 2013.   #1
ajankovic
Aleksandar Janković
Qualified
 
Avatar ajankovic
 
Datum učlanjenja: 16.10.2010
Lokacija: Bg-Sd
Poruke: 165
Hvala: 70
54 "Hvala" u 36 poruka
ajankovic is on a distinguished road
Thumbs up Go Programski Jezik

Za one koji ne znaju ekipa iz Googla je pre par godina lansirala Go programski jezik. Go je uspeo da dostigne verziju 1 i trenutno predstavlja stabilnu platformu za razvoj softvera.

Već duže vreme pratim događaje i članke vezane za Go jezik i na osnovu raznih izvora mislim da sam uspeo da steknem utisak o prednostima i manama ovakvog pristupa programiranju. Odvojio sam vremena da ga savladam i sada smatram da se zasniva na odlično osmišljenim konceptima i predviđam da će vremenom postati "mainstream" i preuzeti udeo u tržištu od glavnih konkurenata.

Zato me najviše interesuje da li ima istomišljenika ili onih drugih ovde na forumu, odnosno u Srbiji? Kakvo je vaše mišljenje i iskustvo?

I generalno kakvo je stanje sa primenom novih tehnologija u Srbiji ili izučavanjem u školama? Da li vidite primenu za ovakvu tehnologiju u svojoj firmi? Da li mislite da bi teško nalaženje radne snage predstavljao nepremostiv problem?

Za najbolji način da se upoznate sa Go jezikom možete da posetite http://tour.golang.org.
__________________
ajankovic.com]
ajankovic je offline   Odgovorite uz citat
Staro 17. 01. 2013.   #2
misk0
majstor
Wrote a book
 
Avatar misk0
 
Datum učlanjenja: 30.01.2006
Lokacija: Lugano - Switzerland
Poruke: 1.251
Hvala: 219
106 "Hvala" u 67 poruka
misk0 će postati "faca" uskoromisk0 će postati "faca" uskoro
Pošaljite ICQ poruku za misk0 Pošaljite poruku preko Skype™ za misk0
Default

Osim toga da sam cuo da postoji i da Google stoji iza - ne znam nista vishe. Ni u mom okruzenju ga niko ne koristi.

Posto ga ti poznajes, mozes li navesti razloge tj njegove prednosti i zasto bi ga neko pozelio koristiti i u kojim ambijentima?
__________________
@Twitter
misk0 je offline   Odgovorite uz citat
Staro 18. 01. 2013.   #3
BraMom
Branimir Momcilovic
Qualified
 
Datum učlanjenja: 15.02.2006
Lokacija: Beograd
Poruke: 167
Hvala: 47
25 "Hvala" u 8 poruka
BraMom is on a distinguished road
Default

Programski jezici postaju "mainstream" ne toliko zbog lepote sintakse ili ne znam čega, već uglavnom jer ih pogura neki spoljni faktor. Npr. ako programiraš za Windows verovatno ćeš završiti na c# .net varijanti ili na c++. Ako programiraš za iOS Objective C je prvi izbor. Ruby je bio Ruby i 90-ih ali bez odličnog frejmorka za web ne verujem da bi postao toliko popularan... Stoji i kontra argument, da nisu dobri ne bi ih izabrali Microsoft, Apple... Međutim na takve odluke više utiču poslovni neko tehnički razlozi.
Čini mi se da Go, za sad, nema takvu platformu koja bi pogurala prihvatanje jezika (morao sam do rečnika da nađem srpsku reč za "adoption"). Google to može da promeni, npr. kada bi Go dobio super frejmvork za Android...

Što se tiče radne snage, mislim da bi većina c, c++, c#, c [šta god] programera moglo da se prilagodi dosta brzo. Nemoj da me držiš na reč ali ako bi mi bila ponuđena dva identična posla, osim razlike C, C++ vs Go, verovatno bih pre prihvatio Go, ako ništa drugo uvek bi imao priču, znate radim u onom novom jeziku...

Za škole stvarno ne znam, ali si mi izmamio osmeh
__________________
Važnije je biti ljubazan, nego biti u pravu.
BraMom je offline   Odgovorite uz citat
3 članova zahvaljuje BraMom za poruku:
Staro 18. 01. 2013.   #4
djipko
član
Certified
 
Avatar djipko
 
Datum učlanjenja: 03.10.2006
Poruke: 96
Hvala: 27
44 "Hvala" u 26 poruka
djipko is on a distinguished road
Default

Sve cesce se cuje - "free lunch is over" ovih dana. Ta recenica se naravno odnosi na cinjenicu da vise ne mozemo da racunamo na to da ce procesori u nedogled postajati brzi. Mnogi pametni ljudi su to davno shvatili - i mnogi su se slozili da problem konkurentnog programiranja mora da bude resen na nivou jezika, i na tom polju je Go samo jedan od takmaca sa svojim goroutines (notable mentions: Rust, Erlang).

Kao sto BraMom kaze - sintaksa nije bitna - u eri desktopa bitne su bile biblioteke (npr frjmvorci) te su zato Java i C# danas toliko popularni. Ako pisemo kod za servere - bitan je runtime. Ovde danas malo sta moze da pridje Javi.

Imajuci ovo u vidu, novi jezik pred sobom ima velike izazove (da se tako izrazim)... Mora da ponudi runtime koji moze da se takmici sa najboljima (uzmimo Javu koja postoji 20 godina i videcemo da to nije nikako lak zadatak) i mora da olaksa konkurentnost (dakle pisanje koda koji je trivijalno paralelizovati na n procesora/jezgara bez brige o pratecim zanimacijama) do te mere da bude bolji od solidnih biblioteka pisanih na vec postojecim platformama (Hadoop naprimer...).

Ja bih rekao sledece - jezici koji nude konkuretnost kao deo jezika su definitivno buducnost, barem na strani servera. Kako istrazivanje bude napredovalo, sve vise ce se razlika praviti u zavisnosti od stabilnosti runtime-a/kvaliteta biblioteka. Go je medju prvima dosao na teren, ali utakmica tek pocinje, a konkurencija nije mala.

Sto se tice naseg obrazovanja - nisam veliki optimista, iz prostog razloga sto nam je IT industrija kromanjonska pa se takvi kadrovi i traze (cast izuzecima).

Poslednja izmena od djipko : 18. 01. 2013. u 16:20.
djipko je offline   Odgovorite uz citat
"Hvala" djipko za poruku:
Staro 18. 01. 2013.   #5
srdjan
xyz
Grand Master
 
Datum učlanjenja: 25.10.2006
Poruke: 893
Hvala: 87
346 "Hvala" u 163 poruka
srdjan ima spektakularnu aurusrdjan ima spektakularnu aurusrdjan ima spektakularnu aurusrdjan ima spektakularnu auru
Default

Citat:
Originalno napisao djipko Pogledajte poruku
...jezici koji nude konkuretnost kao deo jezika su definitivno buducnost ... Sto se tice naseg obrazovanja - nisam veliki optimista, iz prostog razloga sto nam je IT industrija kromanjonska pa se takvi kadrovi i traze
Nismo džabe na faxu imali 4 godine samo Modulu-2, dolazi i naših 5 minuta!!
srdjan je offline   Odgovorite uz citat
3 članova zahvaljuje srdjan za poruku:
Staro 20. 01. 2013.   #6
ajankovic
Aleksandar Janković
Qualified
 
Avatar ajankovic
 
Datum učlanjenja: 16.10.2010
Lokacija: Bg-Sd
Poruke: 165
Hvala: 70
54 "Hvala" u 36 poruka
ajankovic is on a distinguished road
Default

Citat:
Posto ga ti poznajes, mozes li navesti razloge tj njegove prednosti i zasto bi ga neko pozelio koristiti i u kojim ambijentima?
U suštini mislio sam da je dovoljno da sami pogledate oficijalnu dokumentaciju ako vas interesuje ova tema da se ne bi svelo na puko prevođenje sa engleskog. Ali evo mojim rečima šta mi se najviše dopada onako iz glave:

Prvo i osnovno odlična dokumentacija. Bez dokumentacije je bilo koji projekat osuđen na propast.

Statički kompajliran jezik - Kompajliranjem dobijaš jednu izvršnu biblioteku. Nemaš problema sa zavisnošću od verzija biblioteka i softvera na deployment mašini. Pošto je program kompajliran u mašinski jezik to podrazumeva i velika ubrzanja u izvršavanju koda u odnosu na platforme sa virtualnim mašinama, a ujedno i zauzimanje manje memorije. Kompajliranje je toliko brzo da postoji alat koji soruce file odmah izvršava. Odnosno alat samo u pozadnini brzo kompajlira source i izvrši rezultat.

Garbage Collector - Programi nemaju problema sa curenjem memorije.

Dobra osnovna biblioteka - Skoro sve bazične oblasti su pokrivene osnovnom bibliotekom. Ovde prevashodno mislim na rad sa stringovima koji su glavna boljka programa koji su bliži mašini. Možete da pogledate spisak osnovnih paketa u dokumentaciji http://golang.org/pkg/.

Dobri alati za rad u razvojnom okruženju - Sa jednom komandom možete da svučete eksternu biblioteku, kompajlirate i uključite je u svoje razvojno okruženje. Npr. "go get github.com/orfjackal/gospec". Najbitniji aspekti razvoja na ovoj platformi su pokriveni "go" alatom. Ovo je iz mog ugla velika prednost. Platforma je dizajnirana za jednostavno korišćenje, a nije nastala kao skup različitih tehnologija koje moraju da se savladaju. Možete da pogledate spisak komandi go alata ovde http://golang.org/cmd/go/.

Strong type system - Barem iz mog ugla je ovo prednost. Veliki broj grešaka se otkloni pri samom činu kompajliranja. Bagovi se svedu na funkcionalne probleme koji su ionako posao developera.

Sintaksa i dizajn jezika - Generalno ovo je obimna tema i nemam vremena da iznesem sve što mi se sviđa i da objasnim svaku stavku. Ali mi se čini da je jezik oslobođen suvišnih teorijskih koncepata. Izabrani su samo oprobani koncepti koji su se pokazali dobro u praksi.

Na primer funkcije su građani prvog reda da se tako izrazim. Sviđa mi se to što se error handling zasniva na povratnim vrednostima a ne na izuzecima. Funkcije mogu da vrate više vrednosti. Prednost po mom mišljenju je i to što objektno orijentisano programiranje nije implementirano na klasičan način. Nema hijerarhije tipova. Meni to mnogo olakšava rad i čini rešavanje problema jednostavnijim bez komplikovanih struktura. Nasleđivanje je urađeno putem kompozicije.

Idiomatski je dobro osmišljen jer osnovne programske strukture kao što su uslovno granjanje, ponavljanje, kanali, rad sa podacima itd. su veoma često korišćene na sličan način i prepoznatljive od projekta do projekta. Jednostavno postoji samo jedan dobar način da se nešto sintaksno odradi. Ovo veoma pomaže u snalaženju u tuđem kodu.

Do kog nivoa su išli da omoguće čitljiviji kod je i sledeći primer. Siguran sam da vam je poznato da u programiranju važi pravilo 20/80 za odnos pisanja i čitanja koda. Zato u go alatima postoji alat koji svaki source fajl formatira po utvrđenom standardu tako da svaki kod liči jedan na drugi. Tako se postiže bolja čitljivost koda bez obzira na developera. Odnosno nema rasprave da li idu tabovi ili spejsovi .

Takođe preuzet je i C stil pisanja koda što čini samu sintaksu prepoznatljivom velikom opsegu developera.

I već spomenuta ugrađena konkurentnost sa ugrađenim strukturama podataka koji olakšavaju sinhronizaciju između konkurentnih procesa.

I da ne dužim dalje ima još dosta stvari koje mi se sviđaju. Možemo slobodono da prodiskutujemo o svemu ako vas interesuje. Ja sam stekao utisak da više može da se tumači kao poboljšan C nego da je glavni konkturent dinamičkim jezicima. Iz mog ugla mislim da su napravili dobar kompromis između približavanja mašini i apstrakcijama na višim nivoima programiranja. Osnovna vodilja nisu bili teorijski već praktični koncepti. I takav pristup mi odgovara.
__________________
ajankovic.com]
ajankovic je offline   Odgovorite uz citat
3 članova zahvaljuje ajankovic za poruku:
Staro 20. 01. 2013.   #7
ajankovic
Aleksandar Janković
Qualified
 
Avatar ajankovic
 
Datum učlanjenja: 16.10.2010
Lokacija: Bg-Sd
Poruke: 165
Hvala: 70
54 "Hvala" u 36 poruka
ajankovic is on a distinguished road
Default

Citat:
Programski jezici postaju "mainstream" ne toliko zbog lepote sintakse ili ne znam čega, već uglavnom jer ih pogura neki spoljni faktor. ... Međutim na takve odluke više utiču poslovni neko tehnički razlozi.
Slažem se u potpunosti. Samo ja ovde vidim poslovni pristup iz drugog ugla. Ako pogledaš moje izlaganje u prethodnom postu možeš da stekneš utisak da su kreatori jezika dosta radili na tome da se poveća produktivnost programera, jezik učini jednostavnijim za učenje i smanji broj grešaka. Od smanjenja vremena prilikom kompajliranja do čitljivosti koda svaka odluka i kompromis koji su doneli je po mom mišljenju bila sa ciljem napretka u sve tri ove oblasti. I mislim da ozbiljna IT firma ne može da zanemari uticaj ovih faktora na uspeh projekata.

Citat:
Kao sto BraMom kaze - sintaksa nije bitna
Syntax is not important ... unless you're programming or writing tools - Rob Pike
__________________
ajankovic.com]
ajankovic je offline   Odgovorite uz citat
Staro 20. 01. 2013.   #8
BraMom
Branimir Momcilovic
Qualified
 
Datum učlanjenja: 15.02.2006
Lokacija: Beograd
Poruke: 167
Hvala: 47
25 "Hvala" u 8 poruka
BraMom is on a distinguished road
Default

I meni je zaličilo na Modulu, ali reko da ne otkrivam koliko sam star . To je dobar primer odličnog jezika koji je nestao sa lica zemlje. Mislim da je imao i pristojno okruženja za razvoj u to doba, @Jablan je nosio neke diskete sa Top Speed kompajlerom...

Naravno da je programski jezik jako bitan programerima, uključujući i sintaksu, govorio sam o tome da to nije dovoljno da bi jezik postao "mainstream". Kao što kažeš direktna posledica "lepote" jezika je brzina kompajliranja, čitljivost koda... E sad "samo" da ga biznis malo pogura, npr. da iz nekog stora, marketplejsa ili čega već zove krenu da kaplju $$$ i tu smo.
Pretpostavljam da si u pravu i da nije tako lako odvojiti uzrok i posledicu, verovatno je istina negde na sredini. Moguće i da bi jedan "hit" mogao da poveća zainteresovanost publike za sam jezik, pa da se tako izrodi komjuniti/frejmork i tako zavrti priča.
Je l tako beše išlo sa Ruby on Rails pričom?
__________________
Važnije je biti ljubazan, nego biti u pravu.
BraMom je offline   Odgovorite uz citat
Staro 21. 01. 2013.   #9
djipko
član
Certified
 
Avatar djipko
 
Datum učlanjenja: 03.10.2006
Poruke: 96
Hvala: 27
44 "Hvala" u 26 poruka
djipko is on a distinguished road
Default

Citat:
Originalno napisao ajankovic Pogledajte poruku
Syntax is not important ... unless you're programming or writing tools - Rob Pike
Ovde sam mislio da nije presudna za to da li ce jezik kao jezik biti uspesan ili ne - mada verovatno ni to nije potpuno tacno... hmmm... recimo da ukoliko sintaksa jezika nije polje u kom on donosi inovacije - verovatno nece biti od znacaja za njegov uspeh. Bolje ?
djipko je offline   Odgovorite uz citat
Staro 07. 04. 2013.   #10
tasmaniski
profesionalac
Professional
 
Datum učlanjenja: 08.11.2010
Poruke: 211
Hvala: 68
78 "Hvala" u 32 poruka
tasmaniski is on a distinguished road
Default

Airbnb Tech Talk: Brad Fitzpatrick - Go Programming Language
tasmaniski je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum


Vreme je GMT +2. Trenutno vreme je 23:08.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.