Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Xamarin besplatan i open source

[es] :: Advocacy :: Xamarin besplatan i open source

Strane: 1 2

[ Pregleda: 9609 | Odgovora: 30 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.ptt.rs.



+2789 Profil

icon Re: Xamarin besplatan i open source06.04.2016. u 22:44 - pre 97 meseci
@nexygo

Sada je paljevina na js zbog web-a, koji je jako popularan. A što se funkcionalnog programiranja tiče, to je druga paradigma, koja u principu nema veze sa OO. Ko kaže da moraju biti OO? Mogu donekle.

Suština funkcionalnog programiranja je čistiji kod koji se lakše piše i održava ako znaš da ga koristiš, a svodi se na kontrolu bočnih efekata (a ne na izbacivanje kao što neki pogrešno misle jer to nije moguće budući da se stanje sveta mora izmeniti po potrebama korisnika). Dakle, pozivanjem neke funkcije znaš šta ona može, a šta ne može da izmeni. Funkciji su vidljivi samo njeni stvarni argumenti i zna se koje od njih može da promeni, a koje ne. Takođe, to omogućava skalabilnost jer su immutable objekti podesni za to. Ne postoji potreba za zaključavanjem ili nekom sličnom vrstom kontrole. Čak i kada se sve izvršava na različitim mašinama, nije problem dok se zna koji je koji objekat.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

negyxo
Aleksandar Perkuchin

Član broj: 29751
Poruke: 898
*.dynamic.isp.telekom.rs.



+171 Profil

icon Re: Xamarin besplatan i open source07.04.2016. u 04:27 - pre 97 meseci
Nedeljko nisi me dobro razumeo, ne treba da bude sve objektno orijentisano, moja opaska se odnosila na to da je OOP problem kao mainstream a kamoli funkcionalna paradigma (koja je objektivno ipak teza za razumevanje od OOP).

Sto se tice toga da je web popularan, to je sasvim ok, to nije problem, problem lezi u tome sto se za web koristi tehnologija(e) koja je primitivna u svojoj srzi - js (tj, da budem precizan client side), na zalost i gomilu drugih tehnologija na server side, koje su takodje lose po dizajnu ali da ne ulazim u taj deo sad, zna da prizove emocije kod ljudi :D No, zato ja krivim MS, imaju ljude, imaju ideje, ali neko nema mu*a da odluci, zatru im se projekte, ne prati se vizija, krene se za hype-om. Za tako nesto ti treba drugi mindset, nesto gde ces stvarno da namestis nesto bolje i ubedis (lako) druge da je to bolje, recimo to je apple uradio sa iPhone, da nije on verovatno bi neko drugi, MS bi valjda i dalje ganjao Windows Ce a Nokia Symbian. Bas kao sto je apple nacinio lak pristup smart-phone-vima sirokim narodnim masama tako nesto ti treba i u programiranju (OK, znam da ce sada neki da se "zgade" ali to se i ovako desava, veliki broj ljudi "programira" i ako vec to radi onda neka radi to kontrolisano).

Sto se tice funkcionalnog programiranja, ne moras da mi objasnjavas, dobro mi je poznato (radio pre 8 godina Haskell, ali odustao jer tada nikakve podrske nije bilo za nista ozbiljno, trazio sam tada neki VS plugin koji bi mi omogucio koliko toliko normalan rad, a ne da kucam u notepad-u i u CLI), no iako je funkcionala paradigma lepa po sebi, ne bi se slozio da je "cistija", jeste mozes daleko manje code-a da napises, ali razumevanje funkcionale paradigme je dosta teze IMHO Kljuc ne lezi u visokoj entropiji programa (mislim lezi, ali ne tako sto ces ti da se bavis entropisanjem :)), nego u lakoci iznosenja ideja i sprovodjenja u dela.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.ptt.rs.



+2789 Profil

icon Re: Xamarin besplatan i open source07.04.2016. u 08:24 - pre 97 meseci
Šta znam, na MIT-ju su se nekada osnove programiranja učile python-u, a sada valjda na nekom funkcionalnom jeziku. Rust nema tako kriptovanu sintaksu kao haskell. Poenta je da funkcija odgogvara svom prototipu, a ne da radi nešto drugo što nigde ne piše, sem u implementaciji. To jeste čistije.

Pre 8 godina je bilo drugo vreme. Sada potrebe za skalabilnošću rastu. Da bi paradigma zaživela, nije dovoljno da bude lepa, već da nudi neke opipljive prednosti u pogledu tekućih potreba.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
*.garciacp.com.

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: Xamarin besplatan i open source07.04.2016. u 17:27 - pre 97 meseci
Na MIT-u su se osnove programiranja učile u funkcionalnom Scheme-i (uz legendarnu "Structure and Interpretation of computer programs"), a sada koriste Python (6.001 vs 6.01). Evo šta kaže prof. Susman o tome:

Citat:
When we conceived of scheme in the 1970’s, programming was a very different exercise than it is now. Then, what generaly happened was a programmer would think for a really long time, and then write just a little bit of code, and in practical terms, programming involved assembling many very small pieces into a larger whole that had aggregate (did he say ‘emergent’?) behaviour. It was a much simpler time.

Critically, this is the world for which scheme was originally designed. Building larger programs out of a group of very small, understandable pieces is what things like recursion and functional programming are built for.

The world isn’t like that anymore. At some point along the way (he may have referred to the 1990’s specifically), the systems that were being built and the libraries and components that one had available to build systems were so large, that it was impossible for any one programmer to be aware of all of the individual pieces, never mind understand them. For example, the engineer that designs a chip, which now have hundreds of pins generally doesn’t talk to the fellow who’s building a mobile phone user interface.

The fundamental difference is that programming today is all about doing science on the parts you have to work with. That means looking at reams and reams of man pages and determining that POSIX does this thing, but Windows does this other thing, and patching together the disparate parts to make a usable whole.

Beyond that, the world is messier in general. There’s massive amounts of data floating around, and the kinds of problems that we’re trying to solve are much sloppier, and the solutions a lot less discrete than they used to be.

Robotics is a primary example of the combination of these two factors. Robots are magnificently complicated and messy, with physical parts in the physical world. It doesn’t just move forward along the ground linearly and without interruption: the wheels will slip on the ground, the thing will get knocked over, etc.

This is a very different world, and we decided that we should adjust our curriculum to account for that. So, a committee (here, Prof. Sussman peaked his hands over his head, which I interpreted to indicated pointy-headedness) got together and decided that python was the most appropriate choice for future undergraduate education. Why did they choose python? Who knows, it’s probably because python has a good standard library for interacting with the robot.


http://cemerick.com/2009/03/24...-its-undergraduate-cs-program/

 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
*.garciacp.com.

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: Xamarin besplatan i open source07.04.2016. u 17:41 - pre 97 meseci
Što se Rusta tiče, ne bih rekao da je on funkcionalni jezik (funkcije nisu garantovano pure, nema tail call optimizaciju, samo da navedem par važnih karakteristika) . Imam nekoliko projekata napisanih u njemu, i mislim da ne stoji to što kažeš. Jedino po čemu je specifičan je borrow checker koji može biti dobra ili loša strana. Npr. za jedan projekat, mnogo bi mi lakše bilo da sam ga (funkcionalno) napisao u D-u (koji prepoznaje "purity" i poseduje TCO), i da sam pustio GC da brine o memoriji. Za drugi projekat, borrow checker mi je bio krucijalan. Za mali kernel koji pišem mi je ubistvo, ali to je verovatno samo moje neznanje. Nemam pojma za ostale jezike koje si spomenuo, ali mislim da neće Rust biti naredna velika stvar. Verovatnije će se GC tehnologija još više unaprediti, i cena kopiranja smanjiti nego što će ljudi moći da pišu kod sa lakoćom kojom pišu danas.

Što se tiče skalabilnosti, vibe.d, kao i Go više ciljaju ka njoj nego Rust, koji više cilja da bude memory safe jezik sa performansama bliskim C-u.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.ptt.rs.



+2789 Profil

icon Re: Xamarin besplatan i open source09.04.2016. u 00:07 - pre 97 meseci
A zašto misliš da ne prepoznaje čiste funkcije?

Pazi, ne znam ga, ali zar se bi trebalo da funkcija vidi samo svoje stvarne argumente i da može da menja samo one koji su u prototipu označeni sa mut i preneti po referenci?
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 6279

Sajt: pedja.supurovic.net


+1570 Profil

icon Re: Xamarin besplatan i open source09.04.2016. u 07:41 - pre 97 meseci
Svrha korisničkog imena i lozinke je da svako ima svoju :)

 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.ptt.rs.



+2789 Profil

icon Re: Xamarin besplatan i open source09.04.2016. u 10:08 - pre 97 meseci
Koja li je ovde poenta?
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
45.56.148.*

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: Xamarin besplatan i open source09.04.2016. u 22:20 - pre 97 meseci
Citat:
A zašto misliš da ne prepoznaje čiste funkcije?

Pazi, ne znam ga, ali zar se bi trebalo da funkcija vidi samo svoje stvarne argumente i da može da menja samo one koji su u prototipu označeni sa mut i preneti po referenci?


Zato što možeš da uradiš IO iz tih funkcija, i promeniš stanje, npr. bez ikakvih problema, prosto sa `print!` makroom, zato što
možeš da promeniš bilo koju promenljivu koja ti je dostupna ne prego argumenata, već iz okruženja, zato što možeš da napraviš novu nit, itd. itd.
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
45.56.148.*

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: Xamarin besplatan i open source09.04.2016. u 22:30 - pre 97 meseci
Npr. ovaj program u D jeziku ne prolazi kompilaciju:

/d435/f642.d(7): Error: pure function 'f642.nedeljko' cannot call impure function 'std.stdio.writeln!string.writeln'


Code:

import std.stdio;

pure void nedeljko(ref int a)
{
    a = 5;
    writeln("Ne radi.");    
}

void main()
{
    int i;
    nedeljko(i);
}


http://dpaste.dzfl.pl/1b3bb68640f4

Sličan program u Rustu:

Code:

fn nedeljko (i: &mut i32) -> () {
    *i = 1;
    print!("Radi");
}

fn main() -> (){ 
    let mut i: i32 = 5;
    nedeljko(&mut i);
}


https://play.rust-lang.org/?gi...version=stable&backtrace=0


Takođe, evo poruke od Graydon Hoare-a koja govori o definiciji čiste funkcije i kako se slaže sa Rustom

Citat:

Careful. It's important to understand that "purity" seems like it has a
simple definition but in languages with mutable memory, state, time and
IO, it gets hard to be exact.


http://thread.gmane.org/gmane....ang.rust.devel/3674/focus=3855
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.ptt.rs.



+2789 Profil

icon Re: Xamarin besplatan i open source11.04.2016. u 09:27 - pre 97 meseci
A ja taman pomislio da je pravi funkcionalni jezik, koji ima laku sintaksu za one koji su pre radili OOP.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

[es] :: Advocacy :: Xamarin besplatan i open source

Strane: 1 2

[ Pregleda: 9609 | Odgovora: 30 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.