- A hozzászóláshoz be kell jelentkezni
- 2389 megtekintés
Hozzászólások
Ezt is megéltük. yayy
--------------------------------------
Unix isn't dead. It just smells funny.
- A hozzászóláshoz be kell jelentkezni
Na és azóta sincs benne kivételkezelés és öröklődés?
--
ulysses.co.hu
- A hozzászóláshoz be kell jelentkezni
Az elobbi meg jo, az utobbi meg tulajdonkeppen van.
Viszont nincs benne pointer aritmetika, ami kizarja, hogy C++ killer legyen.
- A hozzászóláshoz be kell jelentkezni
miert kene annyira a pointer aritmetika?
egy hatranyat tudok felhozni. nelkule a GC szabadon atrendezgetheti a memoriat, lyukakat betomhet, optimalizalhat olvasasra rendezessel, stb.. ezeket valodi pointereket hasznalo nyelven nem tehetne meg.
- A hozzászóláshoz be kell jelentkezni
Mert ez a biztositeka, hogy pl. beagyazott kornyezetben is mukodjek.
Pl. kepfeldolgozas eseten PC-en sem lehet meguszni. Nem a malloc() free() part siratom, hanem azt a lehetoseget, hogy a memoriat konnyen, gyorsan el tudjam erni. Pl. neha C++-ban a vector [] operatora lassu a C-es tomb [] operator vagy (ptr + i) jllegu konstrukciokhoz kepest. Ehhez kepest a Go csak lassabb lehet.
- A hozzászóláshoz be kell jelentkezni
> a vector [] operatora lassu
Ezt lemérted? Mitől különbözne? A vector garantáltan folyamatosan tárolja az elemeket, semmi varázslat nincs (ha akarod, még akár *((&v[0])+n) formában is elérheted az elemeket).
- A hozzászóláshoz be kell jelentkezni
Lemertem, van egy csomo overheadje. Ket vagy harom forditon is megneztem par evvel ezelott. Azt hiszem msvc-vel kb. 3x lassabb, mint a pointeres eleres, ha jol emlekszem.
Amugy igaz, pontosan azt a trukkot kell alkalmazni, amit leirtal, es akkor nincs overhead.
- A hozzászóláshoz be kell jelentkezni
Kivételkezeléshez hasonlító szerkezet került bele az első megjelenés óta (panic, defer, recover), de jellemzően nem használatos mint a hibák közlésének szokásos módja, hanem általában visszatérési értékkel jelzik a standard package-beli függvények az eredményt.
Öröklődés (inheritance) nincs, helyette beágyazás (embedding) van. Ez annyiban különbözik csak, hogy az ősosztály metódusait nem lehet felüldefiniálni, csak elfedni. Góban a virtuális függvény az interfészek kiváltsága.
- A hozzászóláshoz be kell jelentkezni
Ez olyan, mintha a "megjelent az új diesel motor" cikkben azt kérdeznéd, hogy "és azóta sincs benne gyertya?"
Akinek egy olyan nyelv kéne, mint a c++, annak ott a c++.
Amúgy meg már az eleje óta van benne öröklődés, csak nem úgy, ahogy azt te gondolod.
Ami azt illeti már a plan9 C-ben is volt. Ugyanazt a rendszert mentették át ide is.
--------------------------------------
Unix isn't dead. It just smells funny.
- A hozzászóláshoz be kell jelentkezni
Honnan tudod, hogy én hogy gondolom?
--
ulysses.co.hu
- A hozzászóláshoz be kell jelentkezni
Azon a gondolati síkon indultam el, hogy ha úgy gondolnád, ahogy ők, akkor már a legelején feltűnt volna, hogy van; ergo nem merült volna fel a kérdés, hogy továbbra sincs-e.
--------------------------------------
Unix isn't dead. It just smells funny.
- A hozzászóláshoz be kell jelentkezni
De nincs.
--
ulysses.co.hu
Megjegyzés: Nemcsak hogy nincs, de Kernighan meg is indokolta, hogy miért nincs, illetve, hogy ezek miért károsak. Az indoklással nem értek egyet. Ha nem az it szakma legendás alakjáról volna szó, az érvelését ostobaságnak mondanám.
- A hozzászóláshoz be kell jelentkezni
Hol nincs? Akkor valamit rosszul csinálok, mert ez működik:
package main
import "fmt"
type élőlény struct{
név string
}
type kutya struct{
élőlény
}
func main() {
blöki := new(kutya)
blöki.név = "Blöki"
fmt.Println(blöki.név)
}
Itt ki lehet próbálni: http://golang.org/doc/playground.html
--------------------------------------
Unix isn't dead. It just smells funny.
- A hozzászóláshoz be kell jelentkezni
Elolvasnam ezt a Kernighan cuccot. Linket tudsz kuldeni?
Amugy nekem tetszik Go-fele oroklodes, bar lehet hogy sok szar kodot vetit elo, de ezt csak a gyakorlat mutatja meg.
- A hozzászóláshoz be kell jelentkezni
A Kernighan interjút/cikket(?) évvekkel ezelőtt olvastam, fel kéne érte túrni a netet.
Az öröklődésről ezt lehet olvasni: Go does not have classes with constructors or destructors. Instead of class methods, a class inheritance hierarchy, and virtual functions, Go provides interfaces...
Meg ezt: Why is there no type inheritance?
A kivételekről lehet olvasni ezt: We believe that coupling exceptions to a control structure, as in the try-catch-finally idiom, results in convoluted code...
Aki Go-val foglalkozik úgyis jobban ismeri ezeket, mint én, akit nem érdekel a Go. Mindenesetre nekem az a véleményem, hogy az öröklődés is és a kivételkezelés is hasznos.
Megjegyzés: Amennyire emlékszem, Kernighan ugyanezeket mondta, mint ami a FAQ-ban van, ami nem véletlen, hiszen az egészet ő találta ki.
- A hozzászóláshoz be kell jelentkezni
Nem vagyok programozó, de ez tetszik, már csak a licenc miatt is.
A valódi android, a régiek igazi androidja olyan titok volt, ami minden tekintet előtt elrejteztetett. (ALC)
- A hozzászóláshoz be kell jelentkezni
uhh
--
NetBSD - Simplicity is prerequisite for reliability
- A hozzászóláshoz be kell jelentkezni
En probaltam benne par kisebb programot irni, nagyon halados kis nyelv.
- A hozzászóláshoz be kell jelentkezni