Top Lista programskih jezika?

Nije ovo include kao u C, mozes i bez `use`, samo onda moras da kvalifikujes ceo namespace svaki put kad pozivas f-je ili referenciras strukture;)
Opet imaš pravo! Pod komponente trebam da označim nestandarnu da mi se pojavi levo u izborniku i da je uopšte i mogu da 'dovučem' na Form... Nisam proveravao da li to trebam svaki put da radim, ili to pamti....
 
Poslednja izmena:
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.
Moja analiza ovoga:
let dlg = MessageDialog::new(None::<&Window>,
DialogFlags::empty(),
MessageType::Info,
ButtonsType::Ok,
&format!("vreme je(sec) {}",vreme));
dlg.run();
-------------------------------- 'empty'? Čemu definirati da nešto od opcija ne trebaš? Logično je da navodiš samo ono što ti TREBA! Umesto Ok možeš li da upišeš i nešto drugo za zatvaranje prozora? Inače, i to je kod VB defaultno, pa nećeš valjda nogom da zatvaraš taj prozor?
 
Moja analiza ovoga:
let dlg = MessageDialog::new(None::<&Window>,
DialogFlags::empty(),
MessageType::Info,
ButtonsType::Ok,
&format!("vreme je(sec) {}",vreme));
dlg.run();
-------------------------------- 'empty'? Čemu definirati da nešto od opcija ne trebaš? Logično je da navodiš samo ono što ti TREBA! Umesto Ok možeš li da upišeš i nešto drugo za zatvaranje prozora? Inače, i to je kod VB defaultno, pa nećeš valjda nogom da zatvaraš taj prozor?
Rust ne podrzava defaultne parametre f-ja (ni function overloading) za razliku recimo od C++-a, i to je namerno.
 
Nikad nije bilo aktuelno. Produktivnost se nikada nije merila linijama koda, a radim od 1992 u ovom poslu.
Do tada su se i vlasnici firmi opametili i shvatili da više linija koda ne znači i bolji program! :super:ALI, onda ide druga igra: Za više linija koda trebaš za programe više disketa, više CD-a, veće diskove, više memorije, jače procesore itd.... i krenuo super biznis! Nastavilo se radi drugih motiva!
 
I ovo mi trebaš da nacrtaš: Uđem u dućan i počnem da nabrajam šta NE želim da kupim? :zcepanje:
Pa stvar je prosta. Kada postoji overload f-je to mora nekako da se implementira sto kompikuje
interfejs ka drugim jezicima. Tako recimo ne moze lako da se izvede poziv C++ f-je iz drugog jezika,
sto onda povlaci da C++ program mora da pravi interfjes u C-u. To su autori Rust-a hteli da izbegnu.
O cemu pricam:
void f(int a = default_vrednost); // default parametar
ili void f();void f(int a); // overload
 
Do tada su se i vlasnici firmi opametili i shvatili da više linija koda ne znači i bolji program! :super:ALI, onda ide druga igra: Za više linija koda trebaš za programe više disketa, više CD-a, veće diskove, više memorije, jače procesore itd.... i krenuo super biznis! Nastavilo se radi drugih motiva!
Vise disketa se resava na drugi nacin. Nikada prost tekst ne moze napraviti toliko gigabajta koliko moze baza podataka ili slika
visoke rezolucije :P
 
Pa stvar je prosta. Kada postoji overload f-je to mora nekako da se implementira sto kompikuje
interfejs ka drugim jezicima. Tako recimo ne moze lako da se izvede poziv C++ f-je iz drugog jezika,
sto onda povlaci da C++ program mora da pravi interfjes u C-u. To su autori Rust-a hteli da izbegnu.
O cemu pricam:
void f(int a = default_vrednost); // default parametar
ili void f();void f(int a); // overload
Nisi baš morao da budeš Pikaso! :super: Kakve veze ima MessageDialog iz C++ sa drugim jezicima?
 
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?
@Grindelwald Svaka čast za Javascript tutorijale! A da vidimo tvoje Javascript rešenje ovoga problema? :super:
 
Da bih napisao kod ja moram razumeti kako se to računa, kako se rešava zadatak. Jer ako ja ne znam kako rešiti zadatak, ja i ne mogu početi sa pisanjem koda. Da znam šta treba uraditi, onda ću napisati.

P.S. Hvala :D
Ne izvlači se! :super: Šta ti nije jasno u napisanom, praktično je to jedina formula za zadatak:
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
 
JavaScript:
v_staro = 0;
v_novo = 0;
korak = 0.00001;
vreme = korak;
snaga = 100;
masa = 20;
korakE = snaga * korak;

while (true) {
  v_novo = Math.sqrt((2 * korakE) / masa + Math.pow(v_staro, 2));
  if (v_novo > 0.5) break;
  v_staro = v_novo;
  vreme += korak;
}
alert("Time is (sec)" + vreme);
Ne izvlačim se.

Screenshot_3.png
 
JavaScript:
v_staro = 0;
v_novo = 0;
korak = 0.00001;
vreme = korak;
snaga = 100;
masa = 20;
korakE = snaga * korak;

while (true) {
  v_novo = Math.sqrt((2 * korakE) / masa + Math.pow(v_staro, 2));
  if (v_novo > 0.5) break;
  v_staro = v_novo;
  vreme += korak;
}
alert("Time is (sec)" + vreme);
Ne izvlačim se.

Pogledajte prilog 713611
Nije loše! Svaka čast! Usput, čemu služi ; na kraju svake linije koda?
 

Back
Top