Onko C edelleen vaikein kieli oppia ja hallita tällä hetkellä? Jos unohdetaan kaikenmaailman esoteeriset hömpät. Eli voidaan sanoa, että joka hallitsee C :an, varmasti oppii minkä tahansa muun kielen nopeasti?
C++ vaikein kieli nykyään?
50
1782
Vastaukset
- myslihattu
C on vaikea mutta eiköhän toi vaiken ole assembly edelleenki, mihin se siitä muuttuisi.
Ja kysymykseen jos osaat C oppii minkä tahansa kielen... Kyllä. Mutta C :mainen ajattelu tapa voi olla haastava oppia esim javaa. Javassa ei ole moniperintää tai osoittimia, joten kyllä siinä saa ajatella asioita uudelta kantilta. Jos oppii C :n, se ollaan vielä helposti lähtökuopissa funktionaalisten kielten kanssa koska on eri paradigma.
- M‒Kar
Ehkä sun kannattaisi vaan pysytellä pyyttonissa.
- roskapostirobotti 22
M‒Kar kirjoitti:
Ehkä sun kannattaisi vaan pysytellä pyyttonissa.
c ja java ovat todella kankeita pythoniin verrattuna. siirtyminen sieltä pythoniin laajentaa pääkoppaa, siirtyminen toiseen suuntaan pistää puremaan hammasta.
- IsoPää+++
roskapostirobotti 22 kirjoitti:
c ja java ovat todella kankeita pythoniin verrattuna. siirtyminen sieltä pythoniin laajentaa pääkoppaa, siirtyminen toiseen suuntaan pistää puremaan hammasta.
Aivan ja Pythonista kannattaa siirtyä Rubyyn, aivot kasvavat vielä lisää...
- 22
IsoPää+++ kirjoitti:
Aivan ja Pythonista kannattaa siirtyä Rubyyn, aivot kasvavat vielä lisää...
...kohonneen verenpaineen takia, kun koodia pitäisi lukea.
Pythonissa on tehty sekin oikein. Ei tarvitse osata kirjoittaa Pythonia, että sitä pystyy lukemaan. Ruby on melkein yhtä paha kuin Perl. Vaikka sitä osaisi kirjoittaa, lukeminen ei ole ihan helppoa.
- Sano niin kuin se on
jossa voit kuvailla maailmaa juuri niillä käsitteillä, joilla itse haluat, kuten esimerkiksi.
Kalastaja.LähteeKalaan();
Kalastaja.NostaaVerkot();
if(Kalastaja.SaiKalaa())
Kalastaja.LähteeKrouviin();
else
Kalstaja.LaskeeVerkot(); - My Dick Is Longer
niin sitten lähtökohdat on hyvät.
- pentti.pepsodentti
Vaikea sanoa mikä on vaikein kieli oppia. Riippu hyvin pitkälti opiskelijan pääkopasta ja tavoitteista. Esimerkiksi: Matlab on helppo kieli opetella - tarkoitan sen syntaksia - , mutta paljon vaikeampaa on opetella toteuttamaan jotain käyttökelpoista sillä.
Yleisesti (lähes) kaikki ohjelmointi on sijoittamista, toistoa ja valintaa. Jos hallitset C :n hyvin, niin varmasti opit muitakin kieliä. Suosittelisin kuitenkin ensin tutustumista proseduraaliseen ohjelmointiparadigmaan esim. C-kieleen.
Itse pidän symbolisen konekielen oppimista hieman haastavampana kuin C -kielen oppimista. Mutta syntaksiltaan (ehkä) vaikein ohjelmointikieli on Brainfuck (http://fi.wikipedia.org/wiki/Brainfuck) :) - languageguy
väittäisin, että japani, kantoni ja korea on edelleen paljon c :aa vaikeampia. tosin näiden osaaminen ei takaa sitä, että esim. portugali taipuisi helposti.
- Huumorimiehiä
**Pada-tsing**
- Tosihauskamies
Tarkoitatko, että Japani on kokonaisuudessaan vaikeampi kuin C , vai pelkkä pääsaari Honshu? Entä onko pelkkä Etelä-Korea yksin vakeampi kuin C ?
- sdfsdfsd
Jaapajaa.. C on niin penteleen laaja että sitä on vaikea hallita täysin. C on taas kompakti ja mielestäni helpohko oppia.
C:n jälkeen taas monet skriptikielet ja vm kielet voivat vaikuttaa vittumaisilta. Ainakin mielestäni mm. Perl, Python, Ruby tuntuu avuttomilta C:n rinnalla.
Joku näiden syntaksissa tökkii ja pahasti. Perli on pahin.- pentti.pepsodentti
Tiedän tunteen, mutta kyllä se perl sieltä lähtee, kun vähän potkii ;)
Perlissä on kyllä erinomainen kieli tekstin pyörittelyyn, mutta syntaksissa on kyllä kummallisia sääntöjä. Toisaalta muuttujien prefixit ($, @, % tms.) kertovat paljon minkälainen muuttuja on kyseessä. Tuli käytettyä pari vuotta Perliä ensimmäisessä työpaikassani.
Yksi suuri ongelma on siinä, että jotkut vaan kirjoittavat niin epäselvää Perl-koodia, että sitä on todella vaikeata muiden lukea. Tämän tyylinen ns. Perl-golffaus on mielestäni typerä tapa ohjelmoida, koska samat asiat voi tehdä paljon selkeämmin, jos vaan jaksaa kirjoittaa muutaman rivin lisää koodia.
Monikaan ohjelmointikieli ei kuitenkaan ole näin kaunista ja toimivaa: http://www.perlmonks.org/?node_id=45213 ;) - IsoPää+++
"Ainakin mielestäni mm. Perl, Python, Ruby tuntuu avuttomilta C:n rinnalla."
Eivät ne ole avuttomia C:hen verrattuna kuin suorituskyvyssä ja laitetasonohjelmoinnissa. Kaikessa muussa jyräävät C:een.
(tai ei ainakaan heti tule mieleen muita juttuja...) - pentti.pepsodentti
IsoPää+++ kirjoitti:
"Ainakin mielestäni mm. Perl, Python, Ruby tuntuu avuttomilta C:n rinnalla."
Eivät ne ole avuttomia C:hen verrattuna kuin suorituskyvyssä ja laitetasonohjelmoinnissa. Kaikessa muussa jyräävät C:een.
(tai ei ainakaan heti tule mieleen muita juttuja...)Aivan. Turha kokeilla ruuvimeisselillä hakata naulaa seinään, koska vasaralla siitä suoriutuu helpommin ja tehokkaammin. Vasaralla taas on vaikea ruuvata ruuvia seinään.
- sdfsdf
IsoPää+++ kirjoitti:
"Ainakin mielestäni mm. Perl, Python, Ruby tuntuu avuttomilta C:n rinnalla."
Eivät ne ole avuttomia C:hen verrattuna kuin suorituskyvyssä ja laitetasonohjelmoinnissa. Kaikessa muussa jyräävät C:een.
(tai ei ainakaan heti tule mieleen muita juttuja...)Tekstin pyörittely niillä on sinänsä helpompaa mutta muuten aika avuttomia.
Parhaiten sopii juurikin pikku skriptien tekemiseen. - IsoPää+++
sdfsdf kirjoitti:
Tekstin pyörittely niillä on sinänsä helpompaa mutta muuten aika avuttomia.
Parhaiten sopii juurikin pikku skriptien tekemiseen.Höpö höpö...
Kyllä Python, Ruby, Perl yms kielillä kaikki on helpompaa kuin C/C , Java, C# yms. kielillä. Sanon näin vaikka enimmäkseen koodaan C/C :aa.
Kerropas edes yksi esimerkki missä C:llä (tai muu vastaava) on helpompaa (pl. suorituskyky ja laitetaso, joissa C:llä on helpompi saada halutusti toimiva ohjelma, esim. äärimmäisen nopea tai ajuri). - sdfsfsd
IsoPää+++ kirjoitti:
Höpö höpö...
Kyllä Python, Ruby, Perl yms kielillä kaikki on helpompaa kuin C/C , Java, C# yms. kielillä. Sanon näin vaikka enimmäkseen koodaan C/C :aa.
Kerropas edes yksi esimerkki missä C:llä (tai muu vastaava) on helpompaa (pl. suorituskyky ja laitetaso, joissa C:llä on helpompi saada halutusti toimiva ohjelma, esim. äärimmäisen nopea tai ajuri).En ole tuo edellinen "sdfsdfsd" nimemerkillä kirjoittanut tyyppi mutta tuli tässä mieleen pieni koodipätkä jota oikeasti tarvitsin ja toteutin sen C:llä koska parhaiten sen hallitsen.
Onnistuu siis varmaan suurimmalla osasta kielistä hyvin nopeasti mutta koska en hallitse varsinkaan Rubya, Perliä tai Pythonia kunnolla niin kysynkin miten tehdään jollain näistä kielistä ohjelma joka dumppaa tiedoston hexana ulos.
C:llä onnistuu itseasiassa muutamalla koodirivillä. Omani on 2 riviä pitkä jos ei lasketa includea ja main funktioon meneviä rivejä. - IsoPää+++
sdfsfsd kirjoitti:
En ole tuo edellinen "sdfsdfsd" nimemerkillä kirjoittanut tyyppi mutta tuli tässä mieleen pieni koodipätkä jota oikeasti tarvitsin ja toteutin sen C:llä koska parhaiten sen hallitsen.
Onnistuu siis varmaan suurimmalla osasta kielistä hyvin nopeasti mutta koska en hallitse varsinkaan Rubya, Perliä tai Pythonia kunnolla niin kysynkin miten tehdään jollain näistä kielistä ohjelma joka dumppaa tiedoston hexana ulos.
C:llä onnistuu itseasiassa muutamalla koodirivillä. Omani on 2 riviä pitkä jos ei lasketa includea ja main funktioon meneviä rivejä.No, kokeillaan Rubylla, jota en edes kunnolla osaa (joten kuukletin). Tässäpä koko ohjelma:
#!/usr/bin/env ruby
File.open(ARGV[0]).each_byte { |c| printf "%.2X ", c }
puts #rivinvaihto loppuun
Siis jos tiedostossa text.txt on "abc", niin terminaalissa tulostaa:
./hex.rb text.txt
61 62 63 0A 0A
Hmm... Rubyn printf vastaa näköjään pitkälti C:n printf:ää... Tietysti pitäisi olla tarkistus että annetaan yksi argumentti ja tulostus pitäisi laittaa 10 hexaa per rivi tai jotain.
Oliko muita ehdotuksia? - sdfsdfs
IsoPää+++ kirjoitti:
No, kokeillaan Rubylla, jota en edes kunnolla osaa (joten kuukletin). Tässäpä koko ohjelma:
#!/usr/bin/env ruby
File.open(ARGV[0]).each_byte { |c| printf "%.2X ", c }
puts #rivinvaihto loppuun
Siis jos tiedostossa text.txt on "abc", niin terminaalissa tulostaa:
./hex.rb text.txt
61 62 63 0A 0A
Hmm... Rubyn printf vastaa näköjään pitkälti C:n printf:ää... Tietysti pitäisi olla tarkistus että annetaan yksi argumentti ja tulostus pitäisi laittaa 10 hexaa per rivi tai jotain.
Oliko muita ehdotuksia?Käsitteeleekö tuo tiedostot "text" moodissa vai binäärinä.
Yleisesti "text" moodi I/O:ssa on perustavanlaatuinen suunnitteluvirhe.
mm. Windowsin terminaali kärsii tästä. Perusmoodissa stdin ja stdout on "teksti" moodissa ja ohjelmalle ei voi putkittaa binäärejä ilman että ne hajoaa.
Ongelman onneksi voi korjata ainakin C/C :ssa muuttamalla erillisellä posix funktiolla streamien moodin binääriksi.
Unix/Linux alustoilla ei tälläisiä typeryyksiä ole. - IsoPää+++
sdfsdfs kirjoitti:
Käsitteeleekö tuo tiedostot "text" moodissa vai binäärinä.
Yleisesti "text" moodi I/O:ssa on perustavanlaatuinen suunnitteluvirhe.
mm. Windowsin terminaali kärsii tästä. Perusmoodissa stdin ja stdout on "teksti" moodissa ja ohjelmalle ei voi putkittaa binäärejä ilman että ne hajoaa.
Ongelman onneksi voi korjata ainakin C/C :ssa muuttamalla erillisellä posix funktiolla streamien moodin binääriksi.
Unix/Linux alustoilla ei tälläisiä typeryyksiä ole.Enpä tiedä kuinka on, tarttis varmaan testaa... miten se ongelma ilmenee?
Ja toi voisi tosiaan olla binääri-moodissa:
File.open(ARGV[0], "rb").each_byte { |c| printf "%.2X ", c }
Tuolla http://stackoverflow.com/questions/130948/ruby-convert-file-to-string sanotaan että ehkä voi olla jopa tarpeen (miksiköhän?):
s = File.open(filename, 'rb') { |f| f.read }
Noin Rubyn File.open- yms.- kutsut on kirjoitettu C:llä, niin että ovatkohan ottaneet huomioon. On siellä ainakin #ifdef _WIN32-herjaa väliin työnnetty:
http://www.ruby-doc.org/doxygen/1.8.4/file_8c-source.html
Josta tulee mieleen että käyttöjärjestelmän läheisiä juttuja kutsuttaessa C:llä homma on varmaan helpompaa (koska KJ on yleensä C:llä koodattu) tai tietysti voi yrittää FFI-systeemillä. - sdfsdfsdf
IsoPää+++ kirjoitti:
Enpä tiedä kuinka on, tarttis varmaan testaa... miten se ongelma ilmenee?
Ja toi voisi tosiaan olla binääri-moodissa:
File.open(ARGV[0], "rb").each_byte { |c| printf "%.2X ", c }
Tuolla http://stackoverflow.com/questions/130948/ruby-convert-file-to-string sanotaan että ehkä voi olla jopa tarpeen (miksiköhän?):
s = File.open(filename, 'rb') { |f| f.read }
Noin Rubyn File.open- yms.- kutsut on kirjoitettu C:llä, niin että ovatkohan ottaneet huomioon. On siellä ainakin #ifdef _WIN32-herjaa väliin työnnetty:
http://www.ruby-doc.org/doxygen/1.8.4/file_8c-source.html
Josta tulee mieleen että käyttöjärjestelmän läheisiä juttuja kutsuttaessa C:llä homma on varmaan helpompaa (koska KJ on yleensä C:llä koodattu) tai tietysti voi yrittää FFI-systeemillä.Ruby vaikuttaa varsin mielyttävältä kieleltä.
Lisäksi Lua ja Python vaikuttaa kokelemisen arvoisilta.
C parroille parhautta on "Pike" niminen kieli jonka soisi yleistyvän.
http://en.wikipedia.org/wiki/Pike_(programming_language)
http://pike.ida.liu.se/ - 22
IsoPää+++ kirjoitti:
No, kokeillaan Rubylla, jota en edes kunnolla osaa (joten kuukletin). Tässäpä koko ohjelma:
#!/usr/bin/env ruby
File.open(ARGV[0]).each_byte { |c| printf "%.2X ", c }
puts #rivinvaihto loppuun
Siis jos tiedostossa text.txt on "abc", niin terminaalissa tulostaa:
./hex.rb text.txt
61 62 63 0A 0A
Hmm... Rubyn printf vastaa näköjään pitkälti C:n printf:ää... Tietysti pitäisi olla tarkistus että annetaan yksi argumentti ja tulostus pitäisi laittaa 10 hexaa per rivi tai jotain.
Oliko muita ehdotuksia?tosiaan eka komentoriviargumentti? Jos on, mistä saa ohjelman nimen (hex.rb)?
- kekeke33
22 kirjoitti:
tosiaan eka komentoriviargumentti? Jos on, mistä saa ohjelman nimen (hex.rb)?
En ota tuohon kantaa mutta eikös kaikista helpointa olisi ottaa suoraa järjestelmän stdinistä redirectilä se tiedosto sisään.
- fsdfsdfs
22 kirjoitti:
tosiaan eka komentoriviargumentti? Jos on, mistä saa ohjelman nimen (hex.rb)?
ARGV[0] on ensimmäinen argumentti ei tiedoston nimi.
Tiedoston nimi on rubyssä yksi globaali muuttujuista.. olikohan se nyt sitten "$0"..
http://ideone.com/Q9C7y - IsoPää+++
22 kirjoitti:
tosiaan eka komentoriviargumentti? Jos on, mistä saa ohjelman nimen (hex.rb)?
Ohjelman nimi löytyy muuttujasta $0. Kai ne ovat erikseen että voi tehdä luupissa mukavammin:
ARGV.each { |a| puts a } - sdfsdfs
IsoPää+++ kirjoitti:
Ohjelman nimi löytyy muuttujasta $0. Kai ne ovat erikseen että voi tehdä luupissa mukavammin:
ARGV.each { |a| puts a }Voisitko avata tuon koodinpätkän C-ohjemoijalle pala palalta.
Näissä skriptikielissä on vähän esoteerisyyttä koska voidaan helpolla tehdä lyhyitä rivejä jotka tekevät yksistään monta asiaa ja lopulta ne näyttävät melko kryptisiltä rimpsuilta..
Kyseinen pätkä nyt ei hirveänk kryptinen lyhykäsyydessään ole mutta ihmetyttää tuo erikoinen syntaxi.
Mitä tarkoittaa |0| ? - IsoPää+++
sdfsdfs kirjoitti:
Voisitko avata tuon koodinpätkän C-ohjemoijalle pala palalta.
Näissä skriptikielissä on vähän esoteerisyyttä koska voidaan helpolla tehdä lyhyitä rivejä jotka tekevät yksistään monta asiaa ja lopulta ne näyttävät melko kryptisiltä rimpsuilta..
Kyseinen pätkä nyt ei hirveänk kryptinen lyhykäsyydessään ole mutta ihmetyttää tuo erikoinen syntaxi.
Mitä tarkoittaa |0| ?ARGV on taulukko (globaali)
each on Array-luokan metodi, joka käy läpi kaikki taulukon elementit. for-luupilla saa saman C:ssä.
{...} on blokki eli lohko. Myös do ... end on blokki.
|a| on blokin parametri
Omituista lienee se että blokki on todellisuudessa nimetön funktio (oikeammin proseduuri) eli siis vain eri kuin koodiblokki C:ssä. Blokki siis välitetään metodille (esim. each) joka jossain vaiheessa kutsuu blokkia. Funktio-pointterin antaminen funktiolle taitaa olla C:ssä lähinnä tätä tai makro jossa annetaan parametrina koodi-blokki.
Esimerkiksi voimme tehdä Array-luokalle oman each-metodin (kyllä, luokkia ei ole 'lukittu' Rubyssa):
class Array
def my_each
if block_given?
for i in 0...size
item = self[i]
yield item
end
end
return nil
end
end
Esim:
["a", "b", "c"].my_each { |c| puts c } # printtaa a b c
Jolloin yield kutsuu blokkia ja item sijoitetaan c-muuttujaan.
Näkyvyysalue (scope) on blokin ulkopuolelle:
sum = 0
[1, 2, 3].my_each { |i| sum = i }
puts sum #printtaa 6
Nerokasta, eikö vain.
Lisää selitystä aiheeseen:
http://www.cs.helsinki.fi/u/wikla/OKP/OppaatK07/ruby/#lohkot
http://ruby-doc.org/docs/ProgrammingRuby/
(kohdassa Containers, Blocks, and Iterators)
Tarkemmin:
http://www.robertsosinski.com/2008/12/21/understanding-ruby-blocks-procs-and-lambdas/
Matsumoton haastattelu:
http://www.artima.com/intv/closures.html
Tietysti pitää itse koodata muutamia metodeja/funktioita ennen kuin homman tajuaa... - sdfsfsfsdfs
IsoPää+++ kirjoitti:
ARGV on taulukko (globaali)
each on Array-luokan metodi, joka käy läpi kaikki taulukon elementit. for-luupilla saa saman C:ssä.
{...} on blokki eli lohko. Myös do ... end on blokki.
|a| on blokin parametri
Omituista lienee se että blokki on todellisuudessa nimetön funktio (oikeammin proseduuri) eli siis vain eri kuin koodiblokki C:ssä. Blokki siis välitetään metodille (esim. each) joka jossain vaiheessa kutsuu blokkia. Funktio-pointterin antaminen funktiolle taitaa olla C:ssä lähinnä tätä tai makro jossa annetaan parametrina koodi-blokki.
Esimerkiksi voimme tehdä Array-luokalle oman each-metodin (kyllä, luokkia ei ole 'lukittu' Rubyssa):
class Array
def my_each
if block_given?
for i in 0...size
item = self[i]
yield item
end
end
return nil
end
end
Esim:
["a", "b", "c"].my_each { |c| puts c } # printtaa a b c
Jolloin yield kutsuu blokkia ja item sijoitetaan c-muuttujaan.
Näkyvyysalue (scope) on blokin ulkopuolelle:
sum = 0
[1, 2, 3].my_each { |i| sum = i }
puts sum #printtaa 6
Nerokasta, eikö vain.
Lisää selitystä aiheeseen:
http://www.cs.helsinki.fi/u/wikla/OKP/OppaatK07/ruby/#lohkot
http://ruby-doc.org/docs/ProgrammingRuby/
(kohdassa Containers, Blocks, and Iterators)
Tarkemmin:
http://www.robertsosinski.com/2008/12/21/understanding-ruby-blocks-procs-and-lambdas/
Matsumoton haastattelu:
http://www.artima.com/intv/closures.html
Tietysti pitää itse koodata muutamia metodeja/funktioita ennen kuin homman tajuaa...Ihmettelen hiukan miksi skriptikielissä käytetään sanallisia blokki elementtejä.
Aaltosulkee tai mitkä tahansa yhden merkin sulkeet olisivat selkeämmät ja helpommin tulkattavat. Ei tuhlata turhaan tilaa ja arvokasta tulkkausnopeutta. - IsoPää+++
sdfsfsfsdfs kirjoitti:
Ihmettelen hiukan miksi skriptikielissä käytetään sanallisia blokki elementtejä.
Aaltosulkee tai mitkä tahansa yhden merkin sulkeet olisivat selkeämmät ja helpommin tulkattavat. Ei tuhlata turhaan tilaa ja arvokasta tulkkausnopeutta.Ööö... missähän kohtaa käytetään "sanallisia blokki elementtejä"?
- pkjppk
IsoPää+++ kirjoitti:
Ööö... missähän kohtaa käytetään "sanallisia blokki elementtejä"?
class Array
def my_each
if block_given?
for i in 0...size
item = self[i]
yield item
end
end
return nil
end
end - jhjkhuhuihui
sdfsfsfsdfs kirjoitti:
Ihmettelen hiukan miksi skriptikielissä käytetään sanallisia blokki elementtejä.
Aaltosulkee tai mitkä tahansa yhden merkin sulkeet olisivat selkeämmät ja helpommin tulkattavat. Ei tuhlata turhaan tilaa ja arvokasta tulkkausnopeutta.""Ei tuhlata turhaan tilaa ja arvokasta tulkkausnopeutta.""
Täh? Et taida olla koskaan toteuttanut tulkkia tai kääntäjää? Se, että kuinka monta merkkiä pitkä yksi tokeni on ei todellakaan merkitse yhtään mitään tulkkausnopeudessa. Eri asia olisi toki jos blokin alku- ja loppumerkit olisivat jotain kilotavun pituisia merkkijonoja, jolloin tiedostonlukunopeus alkaisi olla merkityksellistä.
begin/end on helpompi lukea kuin {}. Pythonissa ei muuten ole ollenkaan loppumerkkejä vaan pelkästään sisennykset merkitsevät. Käytännössä tämä aiheuttaa sen, että sisäkkäisen luuppien loppukohtien arvaaminen on yhtä painajaista, - IsoPää+++
pkjppk kirjoitti:
class Array
def my_each
if block_given?
for i in 0...size
item = self[i]
yield item
end
end
return nil
end
endAhaa, tarkoitit että koodilohkon lopetus on "sanallinen" siis tässä Rubyn tapauksessa "end". Tuskin sillä on mitään merkitystä onko se yksi merkki vai kolme, tavukoodiksi se kuitenkin (yleensä) käännetään.
Rubyn ja monen muu "skripti"-kielen hitaus johtuu ihan muista jutuista (dynaaminen tyypitys kai on se suurin syy). - sdfsdfsdffsdf
jhjkhuhuihui kirjoitti:
""Ei tuhlata turhaan tilaa ja arvokasta tulkkausnopeutta.""
Täh? Et taida olla koskaan toteuttanut tulkkia tai kääntäjää? Se, että kuinka monta merkkiä pitkä yksi tokeni on ei todellakaan merkitse yhtään mitään tulkkausnopeudessa. Eri asia olisi toki jos blokin alku- ja loppumerkit olisivat jotain kilotavun pituisia merkkijonoja, jolloin tiedostonlukunopeus alkaisi olla merkityksellistä.
begin/end on helpompi lukea kuin {}. Pythonissa ei muuten ole ollenkaan loppumerkkejä vaan pelkästään sisennykset merkitsevät. Käytännössä tämä aiheuttaa sen, että sisäkkäisen luuppien loppukohtien arvaaminen on yhtä painajaista,Kylläpäs koodin kirjoitusasu vaikuttaa suoraan tulkkausnopeuteen ellei tulkki itse aja ensin lähdekoodille jonkinlaista tiivistystä tai bittikoodimuunnosta.
Ja tietysti mitä enemmän on tilaa tuhlattu koodin ulkoasuun sitä hitaammin tiivistys ja tulkkaus jokatapauksessa tapahtuu.
Mielestäni { } on huomattavasti helpomi lukea kuin begin / end yms.. härveleitä. Tämä tietysti tulee C taustastani joten ei päde kaikille. - jhjkhuhuihui
sdfsdfsdffsdf kirjoitti:
Kylläpäs koodin kirjoitusasu vaikuttaa suoraan tulkkausnopeuteen ellei tulkki itse aja ensin lähdekoodille jonkinlaista tiivistystä tai bittikoodimuunnosta.
Ja tietysti mitä enemmän on tilaa tuhlattu koodin ulkoasuun sitä hitaammin tiivistys ja tulkkaus jokatapauksessa tapahtuu.
Mielestäni { } on huomattavasti helpomi lukea kuin begin / end yms.. härveleitä. Tämä tietysti tulee C taustastani joten ei päde kaikille.""Kylläpäs koodin kirjoitusasu vaikuttaa suoraan tulkkausnopeuteen ellei tulkki itse aja ensin lähdekoodille jonkinlaista tiivistystä tai bittikoodimuunnosta.""
Niin mutta kun nykyajan tulkit toimivat aina niin, että se ensin pistää sen leksikaalisen analysaattorin läpi ja sen jälkeen parserin läpi, jonka jälkeen se ajetaan. Jos vaikka for-luupin lopussa on "end", se luetaan ja tulkitaan tasan kerran eikä esimerkiksi joka luupilla. Teoriassa toki kolmen merkin lukeminen on joskus nopeampaa kuin yhden merkin, mutta ei nykyajan systeemeillä käytännössä, koska joka tapauksessa sieltä levyltä pitää lukea datat jossain kilon paloissa vähintään. C64-basic aikana tilanne oli toki toinen.
""Mielestäni { } on huomattavasti helpomi lukea kuin begin / end yms.. härveleitä. Tämä tietysti tulee C taustastani joten ei päde kaikille.""
Mielestäni { } on kyllä kiva siitä, että se on nopea kirjoittaa, mutta oikeasti helppolukuisin on tyyliin if ... endif, for ... endfor. Kyllähän C:ssäkin on hyvää ohjelmointityyliä tehdä näin:
for (i = 0; i < 10; i ) {
} /* for */
- dfgdgdf
Kukaan C koodaaja ei kyllä oikeasti käytännössä käytä kommentteja lohkojen sulkevien sulkeiden kohdalla.
Pakko kyllä sanoa että minunkin mielestäni normaalist aaltosulkeet on huomattavasti selkeämmät kuin kirjoitetut blokit.
Ja vielä parempi jos sulkeet ja sisennys kirjoitetaan Allman & Ansi tyylillä.
for(i = 0; i < 10; i)
{
/* sisennys neljä välilyöntiä */
}
Mutta joo.. makuasioista ei kannata kiistellä.- sdfsdfsdf
Jahas ja suomi24 imaisi sisennykset..
{{{{{}}}}} - dsfsfsdf
for(i = 0; i < 10; i)
{
/* sisennys neljä välilyöntiä */
} - dfgdgdfg
dsfsfsdf kirjoitti:
for(i = 0; i < 10; i)
{
/* sisennys neljä välilyöntiä */
}PASKA.
- näinnätimpää..
dsfsfsdf kirjoitti:
for(i = 0; i < 10; i)
{
/* sisennys neljä välilyöntiä */
}EI tuo näyttää inhottavalta kun on tuon funktion (for)-perässä heti sulku, ja puuttuu tuo "{" for-lausekkeen päätteestä..
for (i=0;i - dfsdfsdfsdfsd
näinnätimpää.. kirjoitti:
EI tuo näyttää inhottavalta kun on tuon funktion (for)-perässä heti sulku, ja puuttuu tuo "{" for-lausekkeen päätteestä..
for (i=0;iSuomi24 feilaa sisennykset täysin.
Edellä yritettiin seuraavaa:
for (i=0;i - ööööö-----
dfsdfsdfsdfsd kirjoitti:
Suomi24 feilaa sisennykset täysin.
Edellä yritettiin seuraavaa:
for (i=0;ifor (i=0;i
- ööööö-----
ööööö----- kirjoitti:
for (i=0;i
for (i=0;i
- sfsfsdfsdf
ööööö----- kirjoitti:
for (i=0;i
Millä kikkailulla siat toimimaan.
- öööööö------
sfsfsdfsdf kirjoitti:
Millä kikkailulla siat toimimaan.
Aaltosulun katsoin tuolta (html number 123): http://www.ascii.cl/htmlcodes.htm
Ja välilyöntinä http://www.htmlbasictutor.ca/non-breaking-space.htm
Toimiskohan html-numero 160 myös nbsp:n sijasta:
//jos on sisennyt niin toimii, muutoin ei - öööööö-----
öööööö------ kirjoitti:
Aaltosulun katsoin tuolta (html number 123): http://www.ascii.cl/htmlcodes.htm
Ja välilyöntinä http://www.htmlbasictutor.ca/non-breaking-space.htm
Toimiskohan html-numero 160 myös nbsp:n sijasta:
//jos on sisennyt niin toimii, muutoin eiIhan kuin söisi pari 160:stä, kokeillaan:
//yksi space
//kaksi spacea
//kolme spacea
//4 spacea
//5 spacea - öööööööö------
öööööö----- kirjoitti:
Ihan kuin söisi pari 160:stä, kokeillaan:
//yksi space
//kaksi spacea
//kolme spacea
//4 spacea
//5 spaceaEipä syökään, optinen harha varmaan tai fontti hämää...
- sdfsfsfsfsdfsd
öööööö------ kirjoitti:
Aaltosulun katsoin tuolta (html number 123): http://www.ascii.cl/htmlcodes.htm
Ja välilyöntinä http://www.htmlbasictutor.ca/non-breaking-space.htm
Toimiskohan html-numero 160 myös nbsp:n sijasta:
//jos on sisennyt niin toimii, muutoin eiMinä kun oletin että tämä foorumi syö nuo html entity kooditkin pois. Muistaakseni olen kokeillutkin joskus mutta ei sitten näköjään. :D
Suhteellisen paska kyllä tämä systeemi.
- opetelkaavaan...
En usko että C/C on ollenkaan vaikein vaan 12-coren AMD-prosessorin assembly nyt.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Aivosyöpää sairastava Olga Temonen TV:ssä - Viimeinen Perjantai-keskusteluohjelma ulos
Näyttelijä-yrittäjä Olga Temonen sairastaa neljännen asteen glioomaa eli aivosyöpää, jota ei ole mahdollista leikata. Hä912900Pelotelkaa niin paljon kuin sielu sietää.
Mutta ei mene perille asti. Miksi Venäjä hyökkäisi Suomeen? No, tottahan se tietenkin on jos Suomi joka ei ole edes soda2991686Mikä saa ihmisen tekemään tällaista?
Onko se huomatuksi tulemisen tarve tosiaan niin iso tarve, että nuoruuttaan ja tietämättömyyttään pilataan loppuelämä?2461557- 871391
IL - VARUSMIEHIÄ lähetetään jatkossa NATO-tehtäviin ulkomaille!
Suomen puolustuksen uudet linjaukset: Varusmiehiä suunnitellaan Nato-tehtäviin Puolustusministeri Antti Häkkänen esittel4021374Nyt kun Pride on ohi 3.0
Edelliset kaksi ketjua tuli täyteen. Pidetään siis edelleen tämä asia esillä. Raamattu opettaa johdonmukaisesti, että3981292Kiitos nainen
Kuitenkin. Olet sitten ajanmerkkinä. Tuskin enää sinua näen ja huomasitko, että olit siinä viimeisen kerran samassa paik21079Esko Eerikäinen tatuoi kasvoihinsa rakkaan nimen - Kärkäs kommentti "Ritvasta" lävähti somessa
Ohhoh! Esko Eerikäinen on ottanut uuden tatuoinnin. Kyseessä ei ole mikä tahansa kuva minne tahansa, vaan Eerikäisen tat381037Hyväksytkö sinä sen että päättäjämme ei rakenna rauhaa Venäjän kanssa?
Vielä kun sota ehkäpä voitaisiin välttää rauhanponnisteluilla niin millä verukkeella voidaan sanoa että on hyvä asia kun329874Miksi Purra-graffiti ei nyt olekkaan naisvihaa?
"Pohtikaapa reaktiota, jos vastaava graffiti olisi tehty Sanna Marinista", kysyy Tere Sammallahti. Helsingin Suvilahden257855