Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Vlákno názorů ke zprávičce Google představil programovací jazyk Go

Ondra Satai Nekola aura:82
11. 11. 2009 12:30

výkon a bezpečnost známou z C a C++

Vykon jsem s troskou sebezapreni ochoten uverit, ale bezpecnost C/C++ je legendarni. Neco tak spatne navrzeneho z hlediska bezpecnosti aby clovek pohledal.

qiRz T
qiRz T (neregistrovaný) 130.119.248.---
11. 11. 2009 12:47

Re: výkon a bezpečnost známou z C a C++

Odkdy jsou vubec vykon a bezpecnost zalezitosti jazyka?

bender
bender (neregistrovaný) 193.179.157.---
11. 11. 2009 12:53

Re: výkon a bezpečnost známou z C a C++

Odjakživa? :-)

MaSeRcZ
MaSeRcZ (neregistrovaný) ---.mzv.cz
11. 11. 2009 12:55

Re: výkon a bezpečnost známou z C a C++

Je to tak – výkon záleží na kompilátoru a bezpečnost na programátorovi…

K
K (neregistrovaný) ---.255.broadband3.iol.cz
11. 11. 2009 13:06

Re: výkon a bezpečnost známou z C a C++

Chceš říct: Bohužel záleží na programátorovi…

Clock
Clock (neregistrovaný) ---.dclient.hispeed.ch
11. 11. 2009 15:48

Re: vykon a bezpecnost znamou z C a C++

Cili vykon nezalezi na programatorovi? Cili kdyz programator jednou pouzije spojove seznamy nebo bubblesort a podruhe haldu nebo quicksort, vykon bude stejny a zalezet jen na kompilatoru?

To mas nejakej lepsi kompilator, ne? Umi resit taky halting problem?

sir Truhlík
sir Truhlík (neregistrovaný) ---.71.broadband3.iol.cz
15. 11. 2009 12:11

Re: vykon a bezpecnost znamou z C a C++

:DD Takovej kompilator bych taky bral :DD

Petr Šmíd
Petr Šmíd (neregistrovaný) ---.systinet.com
11. 11. 2009 13:36

Re: výkon a bezpečnost známou z C a C++

Ehm, napište mi například v Javě aplikaci, která bude trpět problémem Buffer Overflow. Naopak v C ji napíšete velice snadno (a často aniž byste si to uvědomil).

qiRz T
qiRz T (neregistrovaný) 130.119.248.---
11. 11. 2009 14:42

Re: výkon a bezpečnost známou z C a C++

Takle (v konkrétních příkladech) to samozřejmě platí, ale obecně se velmi málokdy dá říct, že jazyk A je bezpečnější (výkonnější) než jazyk B. Krom toho, ten příklad nedokazuje, že Java je bezpečnější než C, ale spíš to, že v C je těžší napsat program, který je v tomto ohledu (buffer overflow) bezpečný. Nebo ještě jinak – těžko lze tvrdit: „je to v jazyce XY, tak je to výkonné a bezpečné.“ Tyhle věci záleží mnohem víc na programátorovi, nasazení, úloze, knihovnách, administrátorovi.

id
id (neregistrovaný) ---.net.upc.cz
11. 11. 2009 20:50

Re: výkon a bezpečnost známou z C a C++

>Krom toho, ten příklad nedokazuje, že Java je bezpečnější než C, ale spíš to, že v C je těžší napsat program, který je v tomto ohledu (buffer overflow) bezpečný.

V podstatě jinými slovy říkáš, že je java bezpečnější:)
V javě samozřejmě jde napsat útok typu buffer overflow, protože nakonec běží na stejném hardwaru jako program v C, ale je to prakticky nemožné(je třeba najít chybu v jvm a potom nějakým způsobem využít v javovském programu).

qiRz T
qiRz T (neregistrovaný) 130.119.248.---
12. 11. 2009 9:07

Re: výkon a bezpečnost známou z C a C++

> V podstatě jinými slovy říkáš, že je java bezpečnější:)
Neříkám, připouštím, že v jednom konkrétním případě, je program méně ohrožen chybou programátora.

Clock
Clock (neregistrovaný) ---.dclient.hispeed.ch
11. 11. 2009 15:47

Re: vykon a bezpecnost znamou z C a C++

Kolik kilowattu ma teda to C vykon?

A v cem se vubec meri ta bezpecnost? V energii strely ktera to prostreli?

drake
drake (neregistrovaný) ---.gw4.pvfree.net
6. 12. 2009 0:01

Re: výkon a bezpečnost známou z C a C++

nemylsi tou bezpecnosti ze to dokaze upravit program tak aby to nepadalo?:D a nehmatalo do pameti kam nema..oproti jinejm ktery vam to dovoluji..

Peter Helcmanovsky aura:56
11. 11. 2009 13:10

Re: výkon a bezpečnost známou z C a C++

to ja naopak neverim moc tomu vykonu. O bezpecnost C++ bych se nebal, nikdy jsem nemel zadny vaznejsi problem, vlastne uprimne, mne osobne se bezpecna aplikace v C++ dela lip nez v PHP. Podle mne s bezpecnosti C/C++ maji problemy jen lide co jsou a) patlalove b) pouzivaji nevhodnou metodiku vyvoje a nastroje pro vyvoj

if (a = b)
if (a = b) (neregistrovaný) ---.homecredit.net
11. 11. 2009 14:32

Re: výkon a bezpečnost známou z C a C++

Kdo tohle pripustil v C, je zlocinec, ktery by mel byt exemplarne popraven tim nejnechutnejsim znamym zpusobem. Slova bezpecnost a C/C++ by se nemely objevovat v jedne spolecne vete. A to jsem jen u jednoho operatoru. Treba o ukazatelich by se daly psat eseje.

Jiste, genialni programator napise kod vzdy bezpecne, ale genialni programator neexistuje, a proto by jazyk mel byt od pocatku navrzen s tim, ze jej budou pouzivat omylni lide.

Bart
Bart (neregistrovaný) 79.127.139.---
11. 11. 2009 15:09

Re: výkon a bezpečnost známou z C a C++

Vite ze Assembler je take programovaci jazyk? To je asi velmi spatne navrzeny, protoze v nem jdou delat chyby.

Svet neni CB, vse ma sva uskali, chce to pouze programatora, co si je uvedomuje. Uznavam, ze treba u open source to je trochu castejsi problem, protoze kdektery jouda se do projektu zapoji, pokud chce.

bender
bender (neregistrovaný) 193.179.157.---
11. 11. 2009 15:50

Re: výkon a bezpečnost známou z C a C++

Assembler se bezpecnosti snad vubec nezabyva, navic to neni vyssi programovaci jazyk, takze ten argument moc nechapu.

Asi se shodnem, ze JAVA nebo Python je bezpecnejsi jazyk nez C, protoze nektere zhovadilosti tam udelat proste nejdou. Neznamena to ale, ze se v tech jazycich pisou programy bez chyby :-)

Peter Helcmanovsky aura:56
11. 11. 2009 16:19

Re: výkon a bezpečnost známou z C a C++

if ( a = b ) je docela sikovna moznost, prave pokud mate spravne nastroje a metodiky.
Takhle jak jste to napsal bez dalsi zavorky gcc hodi warning pri kompilaci, a pak jeste existuji veci jako splint a valgrind. To k tem nastrojum.
A pokud programujete s UnitTesty, tak vam nefunguji testy i kdyby to proslo skrz nastroje, takze to je ta cast s metodikou.

Na druhou stranu kdyz nactete ze vstupu od uzivatele 4096B, tak vite ze mate 4kB binarnich dat.. v PHP kdyz parsujete treba POST request a nedate si bacha na kodovani a validaci, tak vam treba nekdo podstrci nevalidni UTF-8 string ktery treba zpusobi ze vase dalsi kontroly neprokousaji pres cely obsah vstupu a nasledne vam premaze celou databazi. Porad myslite ze Buffer Overflow v C je nejvetsi zlo sveta? Ja myslim ze bezpecny jazyk neexistuje. Jsou jen aplikace ktere maji tak malo chyb, ze na ne nikdo neprijde a ty vypadaji bezpecne. Bez ohledu na programovaci jazyk.

Samozrejme kdyz upatlate 100 radkove C++ bez navrhu, testovani a dodrzovani urcite metodiky, tak nejspis budete mit v prumeru aspon jednu chybu na 10 radku, z toho 20% bude zpusobovat padani aplikace. U javy je jediny vetsi rozdil v tom ze to tolik nepada, mnozstvi chyb bude jen malinko nizsi, jenom se projevi mirneji. Co je nekdy jeste horsi, protoze si je pak nemusite vsimnout. Je pravda ze stejna aplikace ma obvykle v Jave kratsi zdrojovy kod, takze tam prijde dalsi snizeni absolutniho poctu chyb.

Ale rikat ze C/C++ je nebezpecne a Java je fajn je jako rikat ze F1 je nebezpecna a cestovni BMW je fajn … ale zkuste v 150km/h napalit do svodidel s F1 a pak s BMW (a hlavne to nezkousejte v opacnem poradi).

id
id (neregistrovaný) ---.net.upc.cz
11. 11. 2009 21:04

Re: výkon a bezpečnost známou z C a C++

>U javy je jediny vetsi rozdil v tom ze to tolik nepada, mnozstvi chyb bude jen malinko nizsi, jenom se projevi mirneji. Co je nekdy jeste horsi, protoze si je pak nemusite vsimnout.

Já bych řekl, že to je přesně naopak. Java hodí výjimku, pokud se děje něco nekalého, ale v C/C++ se může stát, že program běží dál se špatnými daty a chyba se projeví jenom občas(např. překročení mezí polí, čtení neinicializovaného ukazatele). V podstatě jediná věc co mě napadá, která by mohla skrýt místo chyby je prázdný blok catch a to lze napsat v obou jazycích.

Zasílat nově přidané příspěvky e-mailem