Intellij Idea založili Češi?

phejl

Re:Intellij Idea založili Češi?
« Odpověď #75 kdy: 18. 12. 2015, 17:05:42 »
kdyz jste tu jak rozjety, prosim o radu. doporucte slusne ide pro c++ s naseptavanim atd pro praci na virtualkach, sitove pripojenych masinach/filesystemech, jinem os atd. kde asi tezko pujde pouzit local clang based analyzator atd.

precenen, je doba cloudu, a ne kazdy sedi vedle ciloveho procesoru. bohuzel schopnosti vetsiny ide co znam jsou pres sit velice omezene....

NetBeans?
https://netbeans.org/kb/docs/cnd/remotedev-tutorial.html


nula

  • ***
  • 103
    • Zobrazit profil
    • E-mail
Re:Intellij Idea založili Češi?
« Odpověď #76 kdy: 19. 12. 2015, 07:19:22 »
kdyz jste tu jak rozjety, prosim o radu. doporucte slusne ide pro c++ s naseptavanim atd pro praci na virtualkach, sitove pripojenych masinach/filesystemech, jinem os atd. kde asi tezko pujde pouzit local clang based analyzator atd.

precenen, je doba cloudu, a ne kazdy sedi vedle ciloveho procesoru. bohuzel schopnosti vetsiny ide co znam jsou pres sit velice omezene....

Jo, to je bohuzel smula. Taky bych chtel. Nejblize k tomu ma vim, ktery jedes pres terminal. Ovsem vim neni IDE a neni moc pohodlny. I kdyz v nem udelam vsecko co potrebuju, tak ani po 10 letech kazdodenniho pouzivani mi k srdci neprirostl. Je to dobry editor, ale spatne IDE. Ono toho neni ani moc obecne, co umi pouzivat libclang. Je tu Kdevelop a QTCreator. A pak nake vice, ci mene uspesne pluginy pro Vim a Sublime.

stejna zkusenost, jen vim je u me vyloucenej, nezkousnu textovy editor s vlastni ujetou filozofii, kde se neuznavaji standardizovane klavesove zkratky, ui design patterny z 70 let atd. ale to je jen vec osobniho vkusu

Jj je to tak. I kdyz klavesove zkratky si muzes stejne jako v kazdem rozumnejsim editoru predefinovat. Ui jen castecne, ale problem je, ze ztravis roky konfiguraci, nez to jakztakz vyladis do stavu, ktery mas v ruznych ide od vyroby. Jeste muzes zkusit emacs, nezkousel jsem, ale nekteri se dusuji, ze 0luginy pro podporu c++ ma stejne.



NetBeans?
https://netbeans.org/kb/docs/cnd/remotedev-tutorial.html
Netbeans nepodporuje C++, jen nejakou blize nedefinovanou podmnozinu jazyka. Neni nic radostnejsi, nez se probirat kodem libky a v pulce zjistit, ze to IDE nerozchodilo a muzes se probirat s komfortem notepadu. Vlastne hur, ponevadz mas jeste na monitoru cerveno protoze "parser" neumi jazyk spravne a mysli si, ze je vsecko chyba.

Ivan Nový

Re:Intellij Idea založili Češi?
« Odpověď #77 kdy: 19. 12. 2015, 15:07:20 »
Az tam bude nejaky dependency injection ala Angular nebo vyse zmineny priklad konstrukce objektu ze trid, tak IDEA nenabidne o nic vic, nez vim nebo notepad.

Mam ten screenshot tipnout?  :)

Muzete, zde je ten zdrojovy kod (otestovany), ktery jsem uz jednou posilal:

Kód: [Vybrat]
'use strict';
/*jshint esnext: true */

/** An A class. */
class ClassA {
  /**
   * Print a message 'A.f'.
   */
  f(){
    console.log('A.f');
  }
}

/** A B class. */
class ClassB {
  /**
   * Print a message 'B.f'.
   */
  f(){
    console.log('B.f');
  }
}

let cs = [ClassA, ClassB];

let r = _(cs).map(x => new x()).indexBy(x => x.constructor.name).value();

// autocompletion after 'r.' or 'r.ClassA.'?
r.ClassA.f();
r.ClassB.f();

Poprosim ale take o popis, jak jste toho dosahl, aby IDEA naseptvala spravne napr. pro retezec "r.Class" (na nejake "fotosopovane" reseni nejsem zvedavy).

Tak nevím, zda to Idea umí, ale v principu to možné je, našeptávač vám zobrazí metody všech tříd, které obsahují použité metody u dané instance uvnitř dané funkce, či metody.

Nebo v PhpStorm to pro Php vyřešíte anotací například /** @var Pair pair */ a pak vám PhpStorm nabízí metody třídy Pair, u proměnné pair

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Intellij Idea založili Češi?
« Odpověď #78 kdy: 19. 12. 2015, 15:40:47 »
Tak nevím, zda to Idea umí, ale v principu to možné je

To jako ze se vykona kod se vsemi kombinacemi vstupu (i uzivatelskych) celeho projektu a vyvodi se, co muze obsahovat napr. dany objekt*? Je to vubec vypocetne mozne? Nebo pokud to jde i jinak, rad si o tom neco prectu (mozna nejake castencne vyhodnoceni, fakt netusim).

*: Stale pisu o JS, tzn. ze objektu se mohou pridavat (a odebirat) funkce a vlastnosti dynamicky za behu (nevim jak v PHP ale v mnoha neskriptovacich jazycich vykonavanych na virtualnim stroji, jako je Java nebo C#, nelze myslim beznymi prostredky docilit tohoto chovani [tusim ze Java mela nejakou dynamic instrukci, pripadne si vygenerovat a prelozit tridu za behu, ale to za bezne nepovazuji]).

Na kodu, co jsem poslal, je dulezite, ze bez vykonavani kodu v dobe naseptavani IMO nelze znat obsah proměnné r. Ta obsahuje [po spusteni] vlastnosti, ktere odpovidaji jmenam trid a hodnoty techto vlastnosti odpovidaji instanci stejne pojmenovane tridy [ClassA a ClassB].

, našeptávač vám zobrazí metody všech tříd, které obsahují použité metody u dané instance uvnitř dané funkce, či metody.

Bohuzel, nepochopil jsem... Je snad mysleno, ze se zobrazi vsechny funkce a metody ze vsech trid a objektu v danem scopu? Pokud ano, tak to IDEA asi dela, ale vysledky jsou slabe - az na 9 miste je vlastni metoda tridy (ktere by logicky mely byt prvni, neco jako mit v Jave naseptano na prvnim miste wait metodu z Object, prestoze ma trida nekolik vlastnich metod).

Lama

Re:Intellij Idea založili Češi?
« Odpověď #79 kdy: 19. 12. 2015, 17:17:33 »
...vim je u me vyloucenej, nezkousnu textovy editor s vlastni ujetou filozofii, kde se neuznavaji standardizovane klavesove zkratky...
Klávesové zkratky mají nějaký ISO standard?


v

Re:Intellij Idea založili Češi?
« Odpověď #80 kdy: 19. 12. 2015, 17:51:59 »
...vim je u me vyloucenej, nezkousnu textovy editor s vlastni ujetou filozofii, kde se neuznavaji standardizovane klavesove zkratky...
Klávesové zkratky mají nějaký ISO standard?
vi je sám standardizovaný POSIXem http://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi.html

Ivan Nový

Re:Intellij Idea založili Češi?
« Odpověď #81 kdy: 20. 12. 2015, 08:20:12 »
Tak nevím, zda to Idea umí, ale v principu to možné je

To jako ze se vykona kod se vsemi kombinacemi vstupu (i uzivatelskych) celeho projektu a vyvodi se, co muze obsahovat napr. dany objekt*? Je to vubec vypocetne mozne? Nebo pokud to jde i jinak, rad si o tom neco prectu (mozna nejake castencne vyhodnoceni, fakt netusim).

*: Stale pisu o JS, tzn. ze objektu se mohou pridavat (a odebirat) funkce a vlastnosti dynamicky za behu (nevim jak v PHP ale v mnoha neskriptovacich jazycich vykonavanych na virtualnim stroji, jako je Java nebo C#, nelze myslim beznymi prostredky docilit tohoto chovani [tusim ze Java mela nejakou dynamic instrukci, pripadne si vygenerovat a prelozit tridu za behu, ale to za bezne nepovazuji]).

Na kodu, co jsem poslal, je dulezite, ze bez vykonavani kodu v dobe naseptavani IMO nelze znat obsah proměnné r. Ta obsahuje [po spusteni] vlastnosti, ktere odpovidaji jmenam trid a hodnoty techto vlastnosti odpovidaji instanci stejne pojmenovane tridy [ClassA a ClassB].

, našeptávač vám zobrazí metody všech tříd, které obsahují použité metody u dané instance uvnitř dané funkce, či metody.

Bohuzel, nepochopil jsem... Je snad mysleno, ze se zobrazi vsechny funkce a metody ze vsech trid a objektu v danem scopu? Pokud ano, tak to IDEA asi dela, ale vysledky jsou slabe - az na 9 miste je vlastni metoda tridy (ktere by logicky mely byt prvni, neco jako mit v Jave naseptano na prvnim miste wait metodu z Object, prestoze ma trida nekolik vlastnich metod).

nikoliv, jen se zaindexují výsledky podle páru definice objekt.metoda, a nebo volání objekt.metoda, pak se z indexu vyberou jen ty páry objektů, které se překrývají s použitými metodami dané instance v dané funkci. Takže u prvního použití IDE o instanci neví nic, nemá co nabídnout, u druhého použití s jinou metodou je ale rozhraní instance už více méně specifikované a to se spřesňuje s každým použitím dané instance.

Projekt se zaindexuje jen jednou a pak už se jen vyhodnocují jen změny. Takže vyhledávání může být docela rychlé.

Ale jinak je vidět, že Javascript je špatně navržený jazyk a neměl by se používat.

Ivan Nový

Re:Intellij Idea založili Češi?
« Odpověď #82 kdy: 20. 12. 2015, 08:45:15 »
A uvedený příklad v javascriptu s třídami jsme zkoušel v PyCharmu, tak po nastavení javasrcriptu na verzi 6, po r nenapovídá nic, protože z výrazu pro r nelze určit jeho typ, lae v sekvenci r.ClassA napovídá zcela standardně f, po zadání f. Což odpovídá zvyklostem i pro ostatní jazyky.

když ale do příkladu doplníte definici funkce _ takto
function _(x) {return x;}

pak PyCharm po zadání r.C nabídne jen ClassA a ClassB takže napovídání v produktech firmy JetBrains je opravdu kvalitní.

k

Re:Intellij Idea založili Češi?
« Odpověď #83 kdy: 20. 12. 2015, 08:57:21 »
Ale jinak je vidět, že Javascript je špatně navržený jazyk a neměl by se používat.

Javascript je lehký skriptovací jazyk určený pro drobnosti v prohlížeči a na to je navržený dobře. Že se k němu někdo dožaduje našeptávání implikuje chybné nasazení jazyka, nikdo nepředpokládal že by se v tom psaly tak velké projekty že by bylo potřeba našeptávání.

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Intellij Idea založili Češi?
« Odpověď #84 kdy: 20. 12. 2015, 09:18:37 »
... Ale jinak je vidět, že Javascript je špatně navržený jazyk a neměl by se používat.

S 6 verzi dotahuje hodne nedostatku. Prestoze souhlasim s tim, ze se v prve rade nikdy nemel zacit pouzivat, tak v aktualni situaci - obrovska komunita a s kazdou verzi velky skok kupredu - to nevidim do budoucna tak spatne.

pak PyCharm po zadání r.C nabídne jen ClassA a ClassB takže napovídání v produktech firmy JetBrains je opravdu kvalitní.

Nerikal jsem, ze je nekvalitni vzhledem ke konkurenci a dynamicnosti jazyka. Pouze jsem vyse napsal, ze mezi komfortem vyvoje v Jave/Scale a JavaScriptu je obrovska propast. V jednom svete neni problem nechat IDE prejmenovat metodu a mit jistotu, ze je to bezpecne, v druhem svete se v lepsim pripade neprejmenuje skoro nic, v horsim se prejmenuje vse, co se stejne jmenuje, a rozbije se tak cely projekt.

To dynamicke instancovani je IMO hezke pouziti JavaScriptu (ve skutecnosti se jeste provadeji transformace jmena) - redukce boilerplate kodu a tak omezeni nekonzistence mezi jmenami trid a jmeny klicu.

Ale jinak je vidět, že Javascript je špatně navržený jazyk a neměl by se používat.

Javascript je lehký skriptovací jazyk určený pro drobnosti v prohlížeči a na to je navržený dobře. Že se k němu někdo dožaduje našeptávání implikuje chybné nasazení jazyka, nikdo nepředpokládal že by se v tom psaly tak velké projekty že by bylo potřeba našeptávání.

Nemyslim si, ze ani na to byl navrzeny dobre, ale to muze byt vec nazoru. Realita je takova, ze se jazyk bezne pouziva na pomerne velke SPA, je tedy logicke, ze na tyto vetsi projekty se hodi dobre naseptavani a refaktorizace. Jelikoz k JS neexistuje alternativa (ruzne jazyky prekladane do JS neberu jako lepsi alternativy - podporu v IDE maji snad vsechny jeste horsi, nez ten JS), tak si myslim, ze "volba" jazyka je zcela v poradku.

k

Re:Intellij Idea založili Češi?
« Odpověď #85 kdy: 20. 12. 2015, 09:45:29 »
Realita je takova, ze se jazyk bezne pouziva na pomerne velke SPA, je tedy logicke, ze na tyto vetsi projekty se hodi dobre naseptavani a refaktorizace. Jelikoz k JS neexistuje alternativa (ruzne jazyky prekladane do JS neberu jako lepsi alternativy - podporu v IDE maji snad vsechny jeste horsi, nez ten JS), tak si myslim, ze "volba" jazyka je zcela v poradku.

Současná realita kolem JS je velký průšvih :-) Alternativu k JS je teprve nutno vytvořit, něco jako C#/Java s překladem do JS. Do té doby se bude trpět v JS, jeden, nikoliv jediný, problém je právě nemožnost spolehlivého našeptávání.

ava

Re:Intellij Idea založili Češi?
« Odpověď #86 kdy: 20. 12. 2015, 10:02:21 »
Něco jako C#/Java s překladem do JavaScript? http://www.scala-js.org :)

Ivan Nový

Re:Intellij Idea založili Češi?
« Odpověď #87 kdy: 20. 12. 2015, 10:33:36 »
Něco jako C#/Java s překladem do JavaScript? http://www.scala-js.org :)
Pragmaticky navrženou alternativou je Dart.