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: 02.08.2006, 22:14  postituse pealkiri:  (teema puudub)  

Mis sest ikka arvata, nett on täis selliseid.


johnsmith
Vana Pingviin
Vana Pingviin


Vanus: 50
Liitunud: 24.07.2006
Postitused: 714
Asukoht: Universum
Distributsioon: Ubuntu/Gentoo/FreeBSD
finland.gif
postituspostitatud: 03.08.2006, 00:29  postituse pealkiri:  (teema puudub)  

commodore kirjutas:
Ma ei soovitaks üldse alustada programmeerimise õppimist C-st ega C++ist..


Python ja Perl on tõlgitud keeled see tähendab, et C keeles on kirjutatud tõlk
mis tõlgib Perli käsklused masinakeelde. Sellevõrra on nad ka aeglasemad
nii, et C ja C++ proged jooksevad umbes 10 x kiiremini.
Samas on ka Java tõlgitud keel mis ei ole seganud teda saamast järjest
populaarsemaks. Tänapäeval pole enam ilmselt palju vahet kas on tõlgitud
keel või mitte kuna protsessorid on sedavõrd võimsamad.

C, C++ ja Java on tunduvalt rangema süntaksiga kui scriptikeeled ja võib olla
on hiljem raske õppida kirjutama rangemaid reegleid järgides.

Osates C++ või Javat on võib olla pärast kergem õppida kergemaid keeli......


sips
Pingviini aktivist
Pingviini aktivist



Liitunud: 20.05.2006
Postitused: 288

Distributsioon: Arch
estonia.gif
postituspostitatud: 03.08.2006, 09:13  postituse pealkiri:  (teema puudub)  

hiljaaegu tegin oma esimese skripti..
lugu ise selline:
kasutan gaimil ise sätitud ikoone ( http://pingviin.org/album_showpage.php?pic_id=51 ),
kui aga gaimi uuendada saab ta tagasi oma originaal ikoonid
ning kuna nende ikoonide uuest üle kirjutamine on suht tülikas (ei mäleta ju peast kaustasid..) siis tuli mõte,
et võiks ona elu lihtsamaks muuta väikese skripti abil.

All oleva skripti koostamine võtis oma tunnikese ikka kül..
juba ainuüksi if lause ehtiamine oli suht keerukas (kust mina pidin teadma, et "if" ja "[" vahele käib tühik? esimene if'i näide mille netist leidsin oli if[.. mitte if [..),
failide copimise sain kah tööle aga nagu näha on tegemist vägagi kahtlase lahendusega.

"programm" ise tuli siis selline:
Kood:

#!/bin/sh
# install.sh
# töötab suse linuxiga (pöhjus: gaimi ikoonide asukoht)
# todo oleks siis kontrollida kus kataloomas istuvad gaimi ikoonid

if [ $USER != "root" ]; then
   echo "exiting..."
   echo "you need to be root (# sudo ./install.sh)"
   exit 1
fi

GAIM_PIX_DIR="/opt/gnome/share/pixmaps/gaim"

if [ ! -d $GAIM_PIX_DIR ]; then
   echo "exiting..."
   echo "directory $GAIM_PIX_DIR not found"
   exit 1
fi

cp "$PWD/away.png" "$GAIM_PIX_DIR/icons/away.png"
cp "$PWD/connect.png" "$GAIM_PIX_DIR/icons/connect.png"
cp "$PWD/offline.png" "$GAIM_PIX_DIR/icons/offline.png"
cp "$PWD/online.png" "$GAIM_PIX_DIR/icons/online.png"

cp "$PWD/login.png" "$GAIM_PIX_DIR/status/default/login.png"
cp "$PWD/logout.png" "$GAIM_PIX_DIR/status/default/logout.png"
cp "$PWD/aim.png" "$GAIM_PIX_DIR/status/default/aim.png"
cp "$PWD/yahoo.png" "$GAIM_PIX_DIR/status/default/yahoo.png"
cp "$PWD/msn.png" "$GAIM_PIX_DIR/status/default/msn.png"
cp "$PWD/icq.png" "$GAIM_PIX_DIR/status/default/icq.png"

cp "$PWD/logo.png" "$GAIM_PIX_DIR/logo.png"

cp "$PWD/icon.png" "$GAIM_PIX_DIR/icon.png"


kokkuvõteks:
pooldan samuti pingviinis väikese programeerimisnurja olemasolu..


johnsmith
Vana Pingviin
Vana Pingviin


Vanus: 50
Liitunud: 24.07.2006
Postitused: 714
Asukoht: Universum
Distributsioon: Ubuntu/Gentoo/FreeBSD
finland.gif
postituspostitatud: 03.08.2006, 10:08  postituse pealkiri:  (teema puudub)  

Mul oli vaja teha backup regulaarselt thunderbirdi mailidest.
Kuna maili directory on üle 130 mb suur oli vaja, et ainult viimased 4
koopiat säilitatakse ja vanem koopia kustutatakse.
Sellele lisaks ei tahtnud ma kuulda midagi ise manuaalselt skripti
käivitamisest shellist kõik peab toimuma automaatselt.
Koopia kopitakse ja pakitakse juure omanduses olevasse diectorysse.

Skript käivitub igal pühapäeval crontabist kell 14.30
sisestasin /etc/crontabi
30 14 * * 7 root backup.sh

Skript ise on selline

#!/bin/sh
#Purpose backing up thunderbird mails

FILE=backup.`date +%j`.tar #faili nimi backup.kuupäev
BACKUPDIR="/home/rainer/.mozilla-thunderbird/f5ub1a2u.default"
BACKUPID="/mnt/hdd5/vajalik/thunderbirdbackup"
VIIS=`ls -l $BACKUPID | wc -l` #mitu backupi juba on ?
TEMP=0
ARV=5

tar -cf $BACKUPID/$FILE $BACKUPDIR/Mail | >/dev/null
gzip $BACKUPID/$FILE

if [ $VIIS == $ARV ] #kui backuppe on 5 siseneme if lausesse
then
for DATA in `ls $BACKUPID`; # siseneme for loopi mis käib läbi failid
do
if [ $TEMP == 0 ] # tõsi esimene kord kui temp alustamatta
then
TEMP=$DATA # temp on nüüd failinimi
elif [ $BACKUPID/$TEMP -nt $BACKUPID/$DATA ] # kas fail on uuem ?
then
TEMP=$DATA # kui uuem siis temp=vanem
fi # sisemise if else lause lõpp
done # for loop lõpeb ja temp sisaldab vanemat faili

rm -f $BACKUPID/$TEMP # vanim backup eemaldatakse

fi # ifi lõpp
#end


commodore

Vana Pingviin
Vana Pingviin


Vanus: 37
Liitunud: 02.10.2005
Postitused: 745


blank.gif
postituspostitatud: 03.08.2006, 11:33  postituse pealkiri:  (teema puudub)  

kustutatud




Viimati muutis commodore 16.08.2015, 15:42; muudetud 1 kord
johnsmith
Vana Pingviin
Vana Pingviin


Vanus: 50
Liitunud: 24.07.2006
Postitused: 714
Asukoht: Universum
Distributsioon: Ubuntu/Gentoo/FreeBSD
finland.gif
postituspostitatud: 03.08.2006, 13:42  postituse pealkiri:  (teema puudub)  

commodore kirjutas:
Õppimisel ei ole ju erilist vahet, et on 10x aeglasem, sest niikuinii mingeid ressursinõudlikke asju kohe tegema ei hakka?


Seda nüüd küll pealegi tõlgitavad programmid on platvormist sõltumatud.
Sama Java või Perli programm jookseb nii Linuxis kui windoozas.

Ega sellel pole tõesti palju tähtsust millisest keelest alustada
peaasi , et alustada Smile

Ma ainult pole kindel kas on parem alustada kergemast või raskemast
keelest, C++ saab ka alustada kergemate progedega ja edenedes
luua omi objekte.....
Pärast on see effekt , et kergemad keeled tunduvad lihtsad.


vih
Moderaator
Moderaator



Liitunud: 10.08.2005
Postitused: 654


blank.gif
postituspostitatud: 03.08.2006, 15:34  postituse pealkiri:  (teema puudub)  

Pärast võib olla see efekt, et kergemate keelteni ei jõuagi. Õppeasutustes alustati, vanasti vähemalt, ikka BASICu ja Pascaliga. Kui inimene juba ühte keelt tunneb omandab ta teised nii või naa palju kergemini ja kiiremalt.


uniz
Vana Pingviin
Vana Pingviin


Vanus: 45
Liitunud: 18.05.2006
Postitused: 764

Distributsioon: ubuntucare
estonia.gif
postituspostitatud: 03.08.2006, 16:10  postituse pealkiri:  (teema puudub)  

Vajalik oleks: php, java, mysql, c, c++ ning ka html keele tundmised. Ning Inglise keel- ja Linuxi ja unixi tundmist. Siis v:ib midagi :ra teha.Kui m:nel on midagi head, siis laske tulla..


johnsmith
Vana Pingviin
Vana Pingviin


Vanus: 50
Liitunud: 24.07.2006
Postitused: 714
Asukoht: Universum
Distributsioon: Ubuntu/Gentoo/FreeBSD
finland.gif
postituspostitatud: 03.08.2006, 19:57  postituse pealkiri:  (teema puudub)  

Vampire kirjutas:
Pärast võib olla see efekt, et kergemate keelteni ei jõuagi. Õppeasutustes alustati, vanasti vähemalt, ikka BASICu ja Pascaliga. Kui inimene juba ühte keelt tunneb omandab ta teised nii või naa palju kergemini ja kiiremalt.


Ega ma selle koha pealt ei hakka vaidlema. Ma olen iseõppinud ega oma mingeid tiitleid ega paguneid.

Alustasin u 4 aastat tagasi C++ -ga täitsa tühjast.
Aasta tagasi hakkasin õppima Javat ja avastasin, et see meenutab
palju C++ -si. Peale selle olen õppinud Php -d ja Perli ja muidugi Bashi.

Ma oskan igast asjast natukene aga mitte midagi korralikult.

Smile


trepan
Uus kasutaja
Uus kasutaja



Liitunud: 03.08.2006
Postitused: 8


estonia.gif
postituspostitatud: 03.08.2006, 20:34  postituse pealkiri:  (teema puudub)  

Jõudsin veidike hilja vaidlema, aga minu tehtud loomkatsed näitavad, et skriptimiskeeled (perl, python, php) on kõigest 10%..15% aeglasemad, kui samaväärne C programm.

Java oli kuskil 25% aeglasem (vana versioon, uuega pole viitsinud testida), ning teine baitkoodil põhinev keel (C#) oli minu üllatuseks C programmidega võrreldes peaaegu sama kiire


uniz
Vana Pingviin
Vana Pingviin


Vanus: 45
Liitunud: 18.05.2006
Postitused: 764

Distributsioon: ubuntucare
estonia.gif
postituspostitatud: 03.08.2006, 20:34  postituse pealkiri:  (teema puudub)  

Aga näed: FreeBSD ja Mepis näitavad, et sul on õige valik. Millal on sinult oodata oma OS-i?


johnsmith
Vana Pingviin
Vana Pingviin


Vanus: 50
Liitunud: 24.07.2006
Postitused: 714
Asukoht: Universum
Distributsioon: Ubuntu/Gentoo/FreeBSD
finland.gif
postituspostitatud: 03.08.2006, 23:13  postituse pealkiri:  (teema puudub)  

Trepan, ma arvan, et vahe on suurem vanema riistvara puhul.
See ei ole ilmselt enam praegusel ajal probleemiks.
Protsessorilt suurt jõudlust nõudvad proged nt "John the Ripper"
tuleks ikka kirjutada C -ga.
Tekstifailide käsitlemis progesid pole mingit mõtet hakata kirjutama C -ga
(kui ainult siis õppimiseks) selle jaoks on ikka Perl või siis Bash.

Uniz, ma pole veel piisavalt "vapper ja ilus"
Kuigi osalemine mõnes GNU või BSD projektis oleks kindlasti huvitav...


uniz
Vana Pingviin
Vana Pingviin


Vanus: 45
Liitunud: 18.05.2006
Postitused: 764

Distributsioon: ubuntucare
estonia.gif
postituspostitatud: 20.08.2006, 15:08  postituse pealkiri:  (teema puudub)  

Väga hea õpetus on siin:

http://www.iu.hio.no/%7Emark/CTutorial/CTutorial.html#Preface

Puust ja punaseks.
ütleme nii, et vajalik aluspõhi on olemas.


HoHo
Vana Pingviin
Vana Pingviin


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

vih kirjutas:
Õppeasutustes alustati, vanasti vähemalt, ikka BASICu ja Pascaliga.
Basicu õpetamise mõttekusest ma parem ei räägi kuid viimasel ajal on esimese keelena üsna populaarseks saanud Java.
trepan kirjutas:
Jõudsin veidike hilja vaidlema, aga minu tehtud loomkatsed näitavad, et skriptimiskeeled (perl, python, php) on kõigest 10%..15% aeglasemad, kui samaväärne C programm.
Eks see oleneb mis on pudelikaelaks. Kui see pole prose siis pole eriti vahet. Kui on siis näiteks optimeeritud python vs optimeeritud C on kiirusevahe kuni 100x.

Java 1.5 ja MS'i C# on enam-vähem ühe kiirused, Mono on paraku mõlemast ~20-50% aeglasem. Võrreldes C'ga on kiirus olenevalt rakendusest 20-100% väiksem.
johnsmith kirjutas:
Trepan, ma arvan, et vahe on suurem vanema riistvara puhul.
Pigem vastupidi. Koodi väike optimeerimine mõjutab kiirust uuemate prosede peal tükk maad rohkem kui vanemate peal. Põhjuseks on see et teatud asjad võivad uute peal kiiruse põhja tõmmata. Kaks suurmimat "pahalast" on kehvad andmestruktuurid ja palju hargnemisi.


trepan
Uus kasutaja
Uus kasutaja



Liitunud: 03.08.2006
Postitused: 8


estonia.gif
postituspostitatud: 20.08.2006, 22:12  postituse pealkiri:  (teema puudub)  

HoHo kirjutas:
Eks see oleneb mis on pudelikaelaks. Kui see pole prose siis pole eriti vahet. Kui on siis näiteks optimeeritud python vs optimeeritud C on kiirusevahe kuni 100x.

Hmm... 100x on väga julm vahe. Mingit konkereetsemat infot?

Kui prose on pudelikaelaks, siis just ei tohiks suurt vahet olla (programm seisab arvutuste taga).
Ma kujutan ette, et kui programmis on väga palju if-else / case statemente, siis just jääb intepretaator alla.


HoHo
Vana Pingviin
Vana Pingviin


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

trepan kirjutas:
Hmm... 100x on väga julm vahe. Mingit konkereetsemat infot?
Ray tracer mis kasutab praktiliselt ainult SSE2't ning ülimalt optimeeritud mälu layouti, software prefetchi ja sadat muud asja Very Happy
Ma usun et seal võib vahe olla ka tunduvalt suurem kui 100x.

Kel huvi võib ju proovida Pythonis midagi sarnast valmis teha Smile

Loomulikult kui see osa teha C/C++'ga ning pythonis neid funktsoone välja kutsuda pole kiiruses suurt vahet, eeldusel et ka igat kiirt genereerib too native-koodis porgrammijupp.


laurivosandi
Moderaator
Moderaator


Vanus: 36
Liitunud: 08.07.2005
Postitused: 647
Asukoht: Tallinn
Distributsioon: Estobuntu, Debian
estonia.gif
postituspostitatud: 26.08.2006, 14:05  postituse pealkiri:  (teema puudub)  

HoHo kirjutas:
Ray tracer mis kasutab praktiliselt ainult SSE2't ning ülimalt optimeeritud mälu layouti, software prefetchi ja sadat muud asja Very Happy


hah Laughing


trepan
Uus kasutaja
Uus kasutaja



Liitunud: 03.08.2006
Postitused: 8


estonia.gif
postituspostitatud: 28.08.2006, 10:47  postituse pealkiri:  (teema puudub)  

Okei... võibolla olin liiga sõbralik Pythoni suhtes Razz
http://shootout.alioth.debian.org/gp4/benchmark.php?test=nbody&lang=all

100x on siiski usutav


uniz
Vana Pingviin
Vana Pingviin


Vanus: 45
Liitunud: 18.05.2006
Postitused: 764

Distributsioon: ubuntucare
estonia.gif
postituspostitatud: 10.12.2006, 12:57  postituse pealkiri:  (teema puudub)  

Kood:

//output näide--

#include <fstream>
#include <iostream>

using namespace std;

int main()
{
  char buffer[81];

  ofstream out_file("andmed.dat");

  cout << "Sisesta oma nimi: ";
  cin.getline(buffer, 81);

  out_file << buffer << endl;

  cout << endl;
  cout << "Sinu aadress: ";
  cin.getline(buffer, 81);
  out_file << buffer << endl;

  out_file.close();

  cout << endl;
  cout << "Lopetatud." << endl;

  return 0;
}



c++ on tõesti parem..

in_file.get ja out_file.put ,out_file.close -hakkab isegi meeldima..


HoHo
Vana Pingviin
Vana Pingviin


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

Sa seda programmi jooksutanud ka oled? Loogika ütleb et faili kirjutatakse sisestatud nimi ning ilma newline'ta ülejäänud puhvris olnud läbu mille otsa teisele reale lastakse sama moodi aadress. Palju lihtsam oleks nende getline'de ja puhvritega jamamise asemel olnud kasutada midagi sellist:
Kood:
//output näide--
 
 #include <fstream>
 #include <iostream>
 #include <string>

 using namespace std;
 
 int main()
 {
   string buffer;
 
   ofstream out_file("andmed.dat");
 
   cout << "Sisesta oma nimi: ";
   cin>>buffer;
 
   out_file << buffer << endl;
 
   cout << endl;
   cout << "Sinu aadress: ";
   cin>>buffer;
   out_file << buffer << endl;
 
   out_file.close();
 
   cout << endl;
   cout << "Lopetatud." << endl;
 
   return 0;
 }


Proovi mõlemat programmi kompileerituna ilma debug flagideta ning võrdle failide sisu Smile

PS!
Ma ei kontrollinud reaalselt kumbagi koodi kuid eeldan et minu oma on korrektne. Kui ei siis selgita miks Smile


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