Top Lista programskih jezika?

Па све што је добро има и своју лошу страну. Имаш 64-о битни процесор и реч му је 8 бајта. Сада, ако имаш два стринга дужине 10 бајта, први смешта на адресу која је умножак од 8, и следећа 2 бајта смешта у другу реч у меморији. Е сад, шта да ради са осталих 6 бајта у тој речи. Може да смести 6 бајта другог стринга, а остала 4 бајта у следећу меморијску реч, где остају још 4 слободба бајта. Сада, ако имаш још и стринг од 8 бајта смешташ 4 у текућу реч, а остала 4 у следећу, уместо да овакав стрин сместуш у једну реч. Последица је да овако смештен стринг дужине 8 бајта уместо да читаш у једном меморијском циклусу, читаће се у два меморијска циклуса. И може доћи до тешке грешке, ако између два меморијска циклуса улети интерапт а интерапт процедура користи тај стринг, иако није довршен његов упис у меморију. Такве грешке се тешко откривају.

Зато су измислили поравњање, брз и безбедан приступ подацима у меморији, а празна места у речи нема везе, хардвераши ионако стално повећавају капацитет меморије.

Паметни компајлери када распоређују варијабле по меморији могу да воде рачуна о овоме, а ако нису паметни алигнујеш сам.
Izvini, ali: NE GNJAVI! :zcepanje:Osnova je obrada teksta i slika/video materijala. A i string je često samo niz ASCII karaktera, max 16 bita. Što je veći minimalni broj bitova, to ćeš više bitova potrošiti bez veze!
 
Eeee.... mudraci: Da izmislimo ESPERANTO programski jezik? :zcepanje:Znači, JEDAN jezik koji ima sintakse, pravopis i gramatiku za SVE moguće aplikacije!? Hebote, nesposobnih li informatičara: Nekada smo sa stotinjak asemblerskih instrukcija rešavali SVE probleme, a ovi pajseri napravili nauku od toga!? :zcepanje::zcepanje:
Istina da će to teško da prođe jer se mnogi teško odriču svoje 'kulture i tradicije', kao i među ljudskim jezicima!:super:
Sintaksa programskog jezika treba da bude takva da sto manje moras da kucas posto su programeri lenji :P
 
Za sada imamo web aplikacije (neću imenovati da ne ispadne da ih reklamiram) koji olakšavaju amaterima da naprave sajt. Samo kliknu boja fonta, tekst, fotke itd. Ako je čovek omogućio to korisnicima, ne bih bio iznenađen da će sofija imati tu sposobnost.
amaterima, ali i lenjim programerima? To je već veliki napredak, ne trebaš se gnjaviti sa nekim programskim jezicima za web-stranice! :super:
 
amaterima, ali i lenjim programerima? To je već veliki napredak, ne trebaš se gnjaviti sa nekim programskim jezicima za web-stranice! :super:
Pravili su to za ljude koji ne žele da nauče programiranje, a žele web sajt. Omogućili su im tako nešto na vrlo jednostavan način. Programer svakako ostaje pri svom zanatu. Drugi ne moraju to da uče.

Kao kada ja želim nešto pojesti. Zašto bih učio kako se sprema pica kad mogu otići u piceriju i sačekati da mi je donesu, zar ne? Pica majstor i dalje radi svoj posao, nema on veze sa mnom.
 
Pravili su to za ljude koji ne žele da nauče programiranje, a žele web sajt. Omogućili su im tako nešto na vrlo jednostavan način. Programer svakako ostaje pri svom zanatu. Drugi ne moraju to da uče.

Kao kada ja želim nešto pojesti. Zašto bih učio kako se sprema pica kad mogu otići u piceriju i sačekati da mi je donesu, zar ne? Pica majstor i dalje radi svoj posao, nema on veze sa mnom.
Pa neće ni programer da se gnjavi sa programiranjem ako mu naruče neku stranicu, a ima već gotovo rešenje za uređivanje stranica na tom serveru? pogotovo ako postoje i opcije interaktivnosti na tom rešenju?
 
Taj web sajt ne nudi savršeno rešenje. Ne može doprineti kompleksnim web aplikacijama. Samo nešto osnovno, kao što imaš blogove. Samo malo bolje. Programer može daleko bolji web sajt za sebe uraditi. Svaki delić promeniti. Ja kad naručujem picu, limitiran sam onim što nude. A da sam ja pica majstor, mogu napraviti sebi picu kakvu god poželim.
 
Taj web sajt ne nudi savršeno rešenje. Ne može doprineti kompleksnim web aplikacijama. Samo nešto osnovno, kao što imaš blogove. Samo malo bolje. Programer može daleko bolji web sajt za sebe uraditi. Svaki delić promeniti. Ja kad naručujem picu, limitiran sam onim što nude. A da sam ja pica majstor, mogu napraviti sebi picu kakvu god poželim.
Ako makneš reklame sa stranica, 99% stranica su ustvari blogovi sa slikama?
 
Idemo dalje! Da vidimo top-listu jezika za matematičke operacije! U kojem jeziku je najlakše, tj. recimo sa NAJMANJE linija koda napisati programčić koji će da reši ovaj zadatak:
Motor snage 100W vuče masu od 20 kg na vodoravnoj podlozi bez trenja iz stanja mirovanja. Za koje će vreme da postigne brzinu 0,5 m/s?
 
Idemo dalje! Da vidimo top-listu jezika za matematičke operacije! U kojem jeziku je najlakše, tj. recimo sa NAJMANJE linija koda napisati programčić koji će da reši ovaj zadatak:
Motor snage 100W vuče masu od 20 kg na vodoravnoj podlozi bez trenja iz stanja mirovanja. Za koje će vreme da postigne brzinu 0,5 m/s?
Ni mu ni bu? Ajmo mudraci, ovako to radi 'Stara škola' koja je programiranje učila na Vojinoj Galaksiji. U prastarom VB5.0 je to SAMO ovo:
Private Sub Command1_Click()
v_staro = 0
v_novo = 0
korak = 0.00001
vreme = korak
snaga = 100
masa = 20
korakE = snaga * korak
'
petlja: '++++++++++++
v_novo = Sqr(2 * korakE / masa + v_staro ^ 2)
If v_novo > 0.5 Then GoTo kraj
v_staro = v_novo
vreme = vreme + korak
GoTo petlja
'++++++++++++++++++++
kraj:
MsgBox "vreme je(sec)" + Str(vreme)
End Sub
------------------------------------------------------
Setup program za to je samo 1,4MB, a najbolje je da radi i na Linuksu preko Wine. Može li se to u bilo kojem programskom jeziku napisati 'bolje' po nekom kriterijumu?:klap:
masa.png
 
Evo ti u Rust-u ;)
Kod:
extern crate gtk;
use gtk::prelude::*;
use gtk::{Button, Window, WindowType};
use gtk::{ButtonsType, DialogFlags, MessageType, MessageDialog};

fn main() {
    if gtk::init().is_err() {
        println!("Failed to initialize GTK.");
        return;
    }

    let window = Window::new(WindowType::Toplevel);
    window.set_title("v100");
    window.set_default_size(350, 70);
    let button = Button::new_with_label("Calculate");
    window.add(&button);
    window.show_all();

    window.connect_delete_event(|_, _| {
        gtk::main_quit();
        Inhibit(false)
    });

    button.connect_clicked(|_| {
        let mut v_staro = 0.0f64;
        let mut v_novo = 0.0f64;
        let korak = 0.00001f64;
        let mut vreme = korak;
        let snaga = 100.0f64;
        let masa = 20.0f64;
        let korakE = snaga * korak;
    
        loop {
            v_novo = (2.0 * korakE / masa + v_staro.powf(2.0)).sqrt();
            if v_novo > 0.5 { break }
            v_staro = v_novo;
            vreme += korak;
        }
    
        let dlg = MessageDialog::new(None::<&Window>,
                       DialogFlags::empty(),
                       MessageType::Info,
                       ButtonsType::Ok,
                       &format!("vreme je(sec) {}",vreme));
        dlg.run();
        dlg.destroy();
    });

    gtk::main();
}
Pripadajuci repo : https://github.com/bmaxa/v100
posle kloniarnja samo `cargo build ` pod uslovom da imas instalirano Rust.
 
Evo ti u Rust-u ;)
Kod:
extern crate gtk;
use gtk::prelude::*;
use gtk::{Button, Window, WindowType};
use gtk::{ButtonsType, DialogFlags, MessageType, MessageDialog};

fn main() {
    if gtk::init().is_err() {
        println!("Failed to initialize GTK.");
        return;
    }

    let window = Window::new(WindowType::Toplevel);
    window.set_title("v100");
    window.set_default_size(350, 70);
    let button = Button::new_with_label("Calculate");
    window.add(&button);
    window.show_all();

    window.connect_delete_event(|_, _| {
        gtk::main_quit();
        Inhibit(false)
    });

    button.connect_clicked(|_| {
        let mut v_staro = 0.0f64;
        let mut v_novo = 0.0f64;
        let korak = 0.00001f64;
        let mut vreme = korak;
        let snaga = 100.0f64;
        let masa = 20.0f64;
        let korakE = snaga * korak;
   
        loop {
            v_novo = (2.0 * korakE / masa + v_staro.powf(2.0)).sqrt();
            if v_novo > 0.5 { break }
            v_staro = v_novo;
            vreme += korak;
        }
   
        let dlg = MessageDialog::new(None::<&Window>,
                       DialogFlags::empty(),
                       MessageType::Info,
                       ButtonsType::Ok,
                       &format!("vreme je(sec) {}",vreme));
        dlg.run();
        dlg.destroy();
    });

    gtk::main();
}
Pripadajuci repo : https://github.com/bmaxa/v100
posle kloniarnja samo `cargo build ` pod uslovom da imas instalirano Rust.
Mama mia! I to je taj napredak programskih jezika? :zcepanje:U svemu tome cenim samo ovo: " vreme += korak;" :klap:
 
Pa kaže: Kada pogledamo install paket za ovaj programčić, vidimo u njemu 10-ak raznih paketića. Zamislimo sada da smo pri pisanju programa trebali na početku navesti nešto kao:
include AsycFilt.dl_
include ComCat.dl_
include Ctl3d32.dl_
include MSVBVM50.dl_
itd....
Pa mislim, hebesh takav kompajler koji NIJE u stanju da sam zaključi koje pakete treba da uključi prema instrukcijama koje se koriste!? :zcepanje:A to prastari Visual Basic ZNA! Niti ih trebaš navoditi pri škrabanju programa, niti pri izradi Install paketa! :klap:
 
Pa kaže: Kada pogledamo install paket za ovaj programčić, vidimo u njemu 10-ak raznih paketića. Zamislimo sada da smo pri pisanju programa trebali na početku navesti nešto kao:
include AsycFilt.dl_
include ComCat.dl_
include Ctl3d32.dl_
include MSVBVM50.dl_
itd....
Pa mislim, hebesh takav kompajler koji NIJE u stanju da sam zaključi koje pakete treba da uključi prema instrukcijama koje se koriste!? :zcepanje:A to prastari Visual Basic ZNA! Niti ih trebaš navoditi pri škrabanju programa, niti pri izradi Install paketa! :klap:
Pazi, neke stvari ne moraju da se koriste to su one sto dolaze u standardnoj biblioteci, ali ovde se radi o eksternoj biblioteci, zato sto
Rust ne dolazi sa GUI-jem.
 

Back
Top