Portaal Portaal Pingviini veeb foorumi pealeht
  Viki  |  IRC  |  Otsing  |  Küsimused ja vastused  |  Profiil  |  Privaatsõnumite vaatamiseks logi sisse  | Logi sisse või Registreeru
<empty>
Vaata järgmist teemat
Vaata eelmist teemat

Postita uus teemaVasta teemale
Autor Sõnum
HoHo
Vana Pingviin
Vana Pingviin


Vanus: 39
Liitunud: 08.07.2005
Postitused: 527
Asukoht: Tallinn/Paide
Distributsioon: Gentoo
estonia.gif
postituspostitatud: 28.02.2007, 23:28  postituse pealkiri:  (teema puudub)  

conio.h on platformispetsiifiline ning üsna kindlalt see Linuxis ei tööta. Ainus funktsioon mis tal tundub sealt headerist kasutusel olevat on getch() kuid selle võiks asendada standartse stdio.h's oleva getc()'iga.

Ehk siis mitte just kõige kaasaegsem ja korralikum raamat võiks selle väikse näite kohta öelda Smile


bsdo

Pingviini aktivist
Pingviini aktivist



Liitunud: 22.02.2007
Postitused: 140

Distributsioon: ubuntu server
canada.gif
postituspostitatud: 02.03.2007, 08:22  postituse pealkiri:  (teema puudub)  

http://www.tud.ttu.ee/material/teo/C/Baasteadmised_C++.doc

Ka internetis on see eesti keelne versioon saadaval.

_________________
Ubuntust Image

HoHo
Vana Pingviin
Vana Pingviin


Vanus: 39
Liitunud: 08.07.2005
Postitused: 527
Asukoht: Tallinn/Paide
Distributsioon: Gentoo
estonia.gif
postituspostitatud: 02.03.2007, 19:55  postituse pealkiri:  (teema puudub)  

Tjah, paraku tuleb tunnistada et siiani pole ma näinud veel ainsamatki korralikku maakeelset programmeerimisalast kirjateost mis kriitikat kannataks. Too raamat tundub sisaldavat igal lehel tervet hunnikut vigu, puudujääke ning halbu näiteid. Eks algteadmised saab C'st sealt küll kätte kuid hiljem tuleb siis terve hunnik asju ümber ja juurde õppida, C++'i selle järgi eriti õppida ei saa.

Üks kõige imelikum asi mida märkasin oli see, et ta kirjeldas funktsioonide prototüübid main funktsiooni sees. Ma tean küll et tehniliselt see küll töötab kuid minu arvates on see väga vale asi mida algajaile õpetada. Teine sarnane asi on LK 80 olev näide kus defineeritakse klass otse main funktsiooni sees.

Esimene koht kus räägiti midagi C++'st oli lehekülg 71 kus toodi sisse new ja delete. Muidugi seal tehti kohe ka viga, massiiv vabastati kui tavaline üksik char, seega oli seal mäluleke. Tegelikult ei vabastanud ta ainsamaski kohas mälu, kui too üks näide välja arvata kus vabastas massiivi kui tavalist muutujat. OK, OS küll koristab selle läbu programmi sulgudes kokku kuid õppematerialides võiks ikkagi kirjutada koodi mis on korrektne.

Kui lõpuks hakatakse LK 95 juures C++ teekidega tegelema siis loomulikult kasutatakse >10a vana varianti kus includeti .h laiendiga headereid. Cout'i kasutades ei kasutata mitte standartset endl'i vaid '\n'. Üldiselt on tolles teoses C++'st juttu ainult new/delete ning cout/cin juures. Kokku jämedalt 3-5lk.

Põhimõtteliselt on mul tunne et Teodor kirjutas kunagi ennemuistsel ajal ühe C raamatu. Ajad läksid edasi ning C++ sai populaarseks. Et mitte ajast maha jääda võttis Teodor kätte ning asendas oma C raamatus igal pool C ära C/C++'ga ning kirjutas paar lehte teksti juurde ning nimetas raamatu ümber "Baasteadmised programmeerimiskeelest C++". Igatahes C++ õppida soovijail pole sealt praktiliselt midagi võtta, hädapärast saab seda kasutada ainult bugide otsimise harjutusena kasutada.

Kusjuures tolle raamatu viimane versioon peaks olema aastast 2004. Huvitav küll mida ta on selles raamatus muutnud alates selle välja tuleku ajast ...

Kahju küll kuid kes tahab C++ kohe algusest peale enam-vähem normaalselt selgeks teha peab pöörduma muukeelse materiali poole. Ise kasutasin selleks siin varem viidatud Thinking in C++'i. See on mäekõrguselt üle kõigest maakeelsest mida siiani näinud olen.

Btw, keegi vahepeal mainis et enne C++ peale minekut peaks C selgeks tegema. Selleks pole erilist vajadust. Täitsa rahulikult võib hakata kohe kirjutama enam-vähem puhtas C++'s, üksikud selles puuduvad asjad võib käigu pealt juurde võtta.


Hardi

Pingviini aktivist
Pingviini aktivist


Vanus: 47
Liitunud: 31.10.2005
Postitused: 153

Distributsioon: Arch64
estonia.gif
postituspostitatud: 02.03.2007, 21:17  postituse pealkiri:  (teema puudub)  

Kuidas igesti oleks tolles näites mälu vabastamine? Kas nii?
Kood:
char *viit;
viit=new char[4000000];
delete *viit;


HoHo
Vana Pingviin
Vana Pingviin


Vanus: 39
Liitunud: 08.07.2005
Postitused: 527
Asukoht: Tallinn/Paide
Distributsioon: Gentoo
estonia.gif
postituspostitatud: 02.03.2007, 21:25  postituse pealkiri:  (teema puudub)  

Kood:
delete [] viit;
Kõik muud variandid lekivad mälu.

Eriti tore on see, et Teodor isegi ei maininud et massiive ja üksikmuutujaid vabastatakes mälust erinevalt.


johnsmith
Vana Pingviin
Vana Pingviin


Vanus: 49
Liitunud: 24.07.2006
Postitused: 714
Asukoht: Universum
Distributsioon: Ubuntu/Gentoo/FreeBSD
finland.gif
postituspostitatud: 02.03.2007, 21:27  postituse pealkiri:  (teema puudub)  

Võib olla venelased ja hiinlased võivad nautida omakeelset programmeerimis kirjandust, tegelikult isegi soome keelde on neid päris palju tõlgitud.
Eestlased peavad paraku kindlasti lugema muukeelset kirjandust.

Pealegi kui hakata tegema väheke keerulisemaid programme kui "hello world" siis võib juhtuda, et programm ei kompileerugi mingil põhjusel ja siis peab nagunii kolama võõrkeelsetes foofumites. Ma olen isegi tähele pannud, et ma loen ka saksa keelseid foorumeid kuigi saksa keelt ei räägi kood on ju ikka sama kõigis keeltes.

Kahjuks pole olnud aega ennast kurssi viia selle raamatuga aga julgen väita, et C keele õppimine enne C++ on pigem kahjulik kui kasulik. Milleks harjutada ennast millegagi ja siis õppida täiesti uuesti mingi asi. Võib olla keegi on nii andekas, et saab kohe aru mis on objekt ja hakkab kohe laiendama ja looma objekte siis peab tunnistama, et endale see küll lihtne pole vähemalt alguses mitte.

Koolides ka alustatakse näiteks javast mis sunnib programmeerijat kasutama objekte kohe alguses kui C++ võib kirjutada C sarnast koodi siis java on täiesti objektile orjenteeritud.

Muidugi sellega ei saa rahule jääda, et head maakeelset kirjandust pole aga see pole ilmselt majanduslikel põhjustel võimalik. Keegi ei tooda ju kui pole piisavalt tarbijaid.

_________________
"Thinking is the hardest work there is, which is probably the reason why so few engage in it" - Henry Ford

bsdo

Pingviini aktivist
Pingviini aktivist



Liitunud: 22.02.2007
Postitused: 140

Distributsioon: ubuntu server
canada.gif
postituspostitatud: 02.03.2007, 22:52  postituse pealkiri:  (teema puudub)  

The C++ Standards Committee seda keelt täiendab
http://www.open-std.org/
WG administration

Convener and secretariat:
Herb Sutter
Microsoft Corp.
1 Microsoft Way
Redmond WA USA 98052-6399
Fax: +1-928-438-4456
Email: hsutter@gotw.ca

http://www.open-std.org/JTC1/SC22/WG20/

Kõik jura on inglise keeles.

_________________
Ubuntust Image

sander85
Vana Pingviin
Vana Pingviin


Vanus: 38
Liitunud: 08.08.2005
Postitused: 4359
Asukoht: Tallinn (vahel ka Virtsu)
Distributsioon: Mageia, Debian, CentOS
estonia.gif
postituspostitatud: 02.03.2007, 23:21  postituse pealkiri:  (teema puudub)  

natuke õppematerjale igasugustele keeltele:http://minitorn.tlu.ee/~jaagup/kool/java/

sealt saab nii näidisülesandeid kui ka suures koguses näiteid, kuidas teha algust mingi keelega, kui algus käes, siis edasi peaks oskama juba iga huviline ise tuhnida ja otsida, internet on suur ja lai Smile

_________________
Image Image Image

Hardi

Pingviini aktivist
Pingviini aktivist


Vanus: 47
Liitunud: 31.10.2005
Postitused: 153

Distributsioon: Arch64
estonia.gif
postituspostitatud: 03.03.2007, 01:32  postituse pealkiri:  (teema puudub)  

Mina igal juhul neid eestikeelseid raamatuid enam ei usu. Täpselt sama mälu vabastamise viga on ka Viktor Lepiksoni C keele õpikus. Aga vähemalt ta ei nimeta seda c++ õpikuks.. ainult möödaminnes tutvustab mõnda c++ käsku... Tegelikult peab nagunii alati ise kõik mitmest allikast ja manualist üle kontrollima. Ega Inglise keel ka nii raske polegi. Pole kunagi koolis õppinud teda, aga tasapisi on külge jäänud.. Tegelikult on eestikeelsete raamatute olemas olu lausa kahjulik, sest süvendab laiskust ja rumalust. http://www.cplusplus.com/doc/tutorial/dynamic.html on kõik ilusti kirjas, aga miks ma siis sealt ei vaadanud?


Hardi

Pingviini aktivist
Pingviini aktivist


Vanus: 47
Liitunud: 31.10.2005
Postitused: 153

Distributsioon: Arch64
estonia.gif
postituspostitatud: 04.03.2007, 21:55  postituse pealkiri:  (teema puudub)  

Ei teak kas osbib postitada seda siia... Minu Esimene bash script Embarassed

Script on tv kaarti heli jaoks.. et saaks ühe ja sama puldi nupuga lülitada heli kanalite vahel. Stereo ja vasaku ja parema kanali vahel.. kdetv ise miskipärast minu tv kaartist heli välja ei suutnud võluda.. seega siis selline lahendus.

tv_heli.sh
Kood:
#!/bin/bash

KU=$HOME/tv_heli/tv_heli.conf
.  $KU

PP=$(pidof sox)
if [ $PP  ]; then
   kill  $PP
fi

sleep 0.2

if [ "$HE_KANAL" = "S" ]; then
   HE_S='"L"'
   KANAL=''

elif [ "$HE_KANAL" = "L" ]; then
   HE_S='"R"'
   KANAL='avg 1,1,0,0'

elif [ "$HE_KANAL" = "R" ]; then
   HE_S='"S"'
   KANAL='avg 0,0,1,1'
fi

#echo $HE_KANAL

sed -i "1c\HE_KANAL=$HE_S" $KU
#tv_heli.conf

sox -q -c 2 -sw -r 32000 -t ossdsp /dev/dsp2 -t ossdsp /dev/dsp1 $KANAL &


tv_heli.conf
Kood:
HE_KANAL="S"


bsdo

Pingviini aktivist
Pingviini aktivist



Liitunud: 22.02.2007
Postitused: 140

Distributsioon: ubuntu server
canada.gif
postituspostitatud: 14.03.2007, 13:49  postituse pealkiri:  (teema puudub)  

...

_________________
Ubuntust Image



Viimati muutis bsdo 14.03.2007, 14:36; muudetud 4 korda
priit
Vana Pingviin
Vana Pingviin


Vanus: 39
Liitunud: 04.08.2005
Postitused: 521
Asukoht: Tartu
Distributsioon: CentOS / OS X
estonia.gif
postituspostitatud: 14.03.2007, 14:28  postituse pealkiri:  (teema puudub)  

bsdo kirjutas:
kõige lihtsam ja loogilisem bash'i backup script:
SIIN!


Esiteks ütleksin, et väga inetu on siin oma mingit foorumit reklaamida, selle paari rea siia sisestamine ei oleks tükki küljest võtnud.

Teiseks ütleks, et üks lihtne bashi backup skript on nt selline:
Kood:

#!/bin/bash         
SRCD="/home/"
TGTD="/var/backups/"
OF=home-$(date +%Y%m%d).tgz
tar -cZf $TGTD$OF $SRCD


Pärit siis väga olulisest kohast nimega Bash Programming - Introduction HOW-TO.


bsdo

Pingviini aktivist
Pingviini aktivist



Liitunud: 22.02.2007
Postitused: 140

Distributsioon: ubuntu server
canada.gif
postituspostitatud: 14.03.2007, 14:42  postituse pealkiri:  (teema puudub)  

Minu variant on parem. Mul on ka logifail- >> kirjutab igapäev logisse juurde, mis päeval ja kui kaua aega võttis.
Kood:
#! /bin/bash
echo backup stardib `date` >> /home/******/backup/backup.log
mkdir /home/******/backup/`date +%Y%m%d`
tar -czf /home/******/backup/`date +%Y%m%d`/andmed.tar.gz /var/www/
echo backup valmis `date` >> /home/******/backup/backup.log


Ning võimalus ka usb kettale lasta- koos logifailiga muidugi. Täpsemat seletust saab minu kodukalt.


HoHo
Vana Pingviin
Vana Pingviin


Vanus: 39
Liitunud: 08.07.2005
Postitused: 527
Asukoht: Tallinn/Paide
Distributsioon: Gentoo
estonia.gif
postituspostitatud: 14.03.2007, 16:16  postituse pealkiri:  (teema puudub)  

Suvalise andmekandja peale saab varundada ka priidu skriptiga, lihtsalt tuleb sarnaselt koodi muuta.

Võiksid ju asja huvitavamaks teha ning varundatavad kataloogid lugeda kas parameetritest või conf failist, a'la ~/.backups


Näita (aja järgi):      
Postita uus teemaVasta teemale


Vaata järgmist teemat
Vaata eelmist teemat
Powered by phpBB2 Plus based on phpBB © 2001/7 phpBB Group