Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Generator kodu
Forum PHP.pl > Inne > Oceny
Pablo128
Witam, chciałbym przedstawić proste, łatwe w obsłudze i przyjemne narzędzie dla webmasterów, designerów i koderów. Dzięki niemu w prosty sposób przy małym nakładzie sił stworzysz kod, który potrzebujesz.

Nie musisz znać się na programowaniu, aby przyspieszyć wykonywanie czynności webmasterskich.

Aplikacja Generator kodu jest na licencji Freeware, a więc jest bezpłatna.

Więcej: http://netrotech.pl/pl/pswiderski/download/generator-kodu/3

Zapraszam do testowania. Proszę o komentarze i uwagi biggrin.gif

memory
Jak to ma mi pomóc ?
Crozin
1. Aplikacja w Javie, a udostępniasz ją jedynie w formie EXE-ka? Po co w ogóle ten EXE?
2. Nie muszę się znać na programowaniu, ale muszę poznać składnię Twojego języka, który patrząc po dokumentacji nie nadaje się do niczego poza najbardziej trywialnymi przypadkami, z którymi zdecydowanie lepiej poradzi sobie VIM czy Excel. Pokaż może jakieś faktyczne zastosowanie tego, bo nie widzę w czym miałoby to ułatwić życie - dużo szybciej osiągnę ten sam efekt w konsoli JS dostępnej w każdej przeglądarce.

Chyba, że cały ten program miał służyć za "trening w parsowaniu języków", ale wtedy raczej powinieneś pod ocenę oddawać kod, nie samą aplikację.
StrefaPi
@Crozin dobrze mówi...

od razu widać, że UX leży (dobra aplikacja powinna być jak wykwintna potrawa w restauracji: ładna i smaczna), poza tym nie mam windowsa już 10 lat...
lobopol
Dodam jeszcze, że już webdeveloperzy mają całą gamę o wiele fajniejszych generatorów których mogą sobie bezpośrednio w ulubionym edytorze używać np. emmet, autouzupełnianie kodu, czy np. pisanie własnych skrótów.
Daiquiri
Pablo128, tyle czasu z nami i nie wiesz, że jest dział "Oceny"? wink.gif
Pablo128
Cytat(memory @ 3.08.2013, 12:50:55 ) *
Jak to ma mi pomóc ?

Zapraszam do zapoznania się z przykładami http://netrotech.pl/pl/pswiderski/blog/now...nerator-kodu/15

Cytat(Crozin @ 3.08.2013, 13:33:09 ) *
1. Aplikacja w Javie, a udostępniasz ją jedynie w formie EXE-ka? Po co w ogóle ten EXE?
2. Nie muszę się znać na programowaniu, ale muszę poznać składnię Twojego języka, który patrząc po dokumentacji nie nadaje się do niczego poza najbardziej trywialnymi przypadkami, z którymi zdecydowanie lepiej poradzi sobie VIM czy Excel. Pokaż może jakieś faktyczne zastosowanie tego, bo nie widzę w czym miałoby to ułatwić życie - dużo szybciej osiągnę ten sam efekt w konsoli JS dostępnej w każdej przeglądarce.

Chyba, że cały ten program miał służyć za "trening w parsowaniu języków", ale wtedy raczej powinieneś pod ocenę oddawać kod, nie samą aplikację.

1. Udostępniam exe, gdyż większość użytkowników jest przyzwyczajona do tego rozszerzenia plików wykonywalnych. Użytkownicy innych systemów operacyjnych zwykle posiadają dostęp do odpowiednich emulatorów np. wine na linuxie.
2. Składnia jest minimalnie uproszczona. Chodziło Ci zapewne o skrypty bash-owe. Mi osobiście nie bardzo odpowiada składnia tego języka, który jednak bardziej jest przystosowany do operacji na plikach, no i głównie pod systemem linux, chociaż wiadomo jest cygwin tongue.gif Anyway wątpię żeby przeciętny koder (designer etc) znał się na tego typu stuff'ach. Nie wiem jak w excelu chciałbyś wygenerować taki kod. Może pokażesz przykład?

Cytat(StrefaPi @ 3.08.2013, 18:00:23 ) *
@Crozin dobrze mówi...

od razu widać, że UX leży (dobra aplikacja powinna być jak wykwintna potrawa w restauracji: ładna i smaczna), poza tym nie mam windowsa już 10 lat...

hahha... jeśli chodzi o formatkę, no to jest to simple, easy Java/Swing. Prostota i użyteczność. Wiem, że można ładniej, ale nie jestem designerem, a tu też chodzi o funkcjonalność.
Skoro nie korzystasz z windowsa przez 10 lat, to zapewne wiesz jak uruchamiać exe-ki pod swoim Mac-iem czy innym linuxem tongue.gif

Cytat(lobopol @ 3.08.2013, 20:30:45 ) *
Dodam jeszcze, że już webdeveloperzy mają całą gamę o wiele fajniejszych generatorów których mogą sobie bezpośrednio w ulubionym edytorze używać np. emmet, autouzupełnianie kodu, czy np. pisanie własnych skrótów.

To prawda - Adobe Dreamweaver czy Abbreviations Syntax. Mi chodziło o apkę, w której można wygenerować kod w każdym języku programowania.

Cytat(Daiquiri @ 4.08.2013, 09:31:58 ) *
Pablo128, tyle czasu z nami i nie wiesz, że jest dział "Oceny"? wink.gif

Serdecznie dziękuję za przesunięcie tematu i przepraszam za fatygę.
in5ane
Do czego to jest przydatne? Jeżeli ktoś chce coś zakodować (piszesz, że to przydatne dla koderów) to i tak musi znać jakieś podstawy, żeby wiedział, co chce osiągnąć. A uczenie się składni Twojego programu jest całkowicie bezsensu. Po jaką cholerę uczyć mi się składni takiej pętli:
Kod
l[j=0:10]{
    p(j' ');
}
Jak dla mnie jest to totalny bezsens. Jeżeli ktoś wie, że chce stworzyć pętle, to musiał coś o niej czytać, czyli zna zwykłą strukturę for ($i = 1; $i < 5; $i++) i nie ma sensu uczyć się Twojej dziwacznej składni.
Pablo128
Cytat(in5ane @ 4.08.2013, 16:18:48 ) *
Do czego to jest przydatne? Jeżeli ktoś chce coś zakodować (piszesz, że to przydatne dla koderów) to i tak musi znać jakieś podstawy, żeby wiedział, co chce osiągnąć. A uczenie się składni Twojego programu jest całkowicie bezsensu. Po jaką cholerę uczyć mi się składni takiej pętli:
Kod
l[j=0:10]{
    p(j' ');
}
Jak dla mnie jest to totalny bezsens. Jeżeli ktoś wie, że chce stworzyć pętle, to musiał coś o niej czytać, czyli zna zwykłą strukturę for ($i = 1; $i < 5; $i++) i nie ma sensu uczyć się Twojej dziwacznej składni.


Tutaj chciałem dać użytkownikom większe pole do manewrów i większą elastyczność dostosowania do własnych potrzeb.
Ja sam z tego korzystam przy generowaniu elementów formatki, gdy są one takie same, ale różnią się pojedynczymi parametrami. Wyklikanie ręczne np. 10 progressbarów wraz z ich skonfigurowaniem jest absolutnie niedopuszczalnym czasowo zajęciem. Przy generatorze piszę formułkę dla jednego progressbara, a potem nazwy tych progressbarów różnią się numerkiem - iterator.
Generator jest uniwersalny i elastyczny, ma generować kod, czyli teoretycznie można w nim wygenerować kod w każdym języku programowania.

Składnia jest tak prosta i tak uboga, że raczej z tym nikt nie powinien mieć problemu tongue.gif Na stronie w przykładach http://netrotech.pl/pl/pswiderski/blog/now...nerator-kodu/15 umieściłem je wraz z rozwiązaniami. Opanowanie tego powinno zająć mniej niż 30 sek. tongue.gif
Oczywiście są gusta i guściki, ale for(int i=0; i<=10; i++) w mojej postaci l[0:10] jest dużo krótszy.
Nie zakładaj, że program jest stworzony tylko do generowania kodu php czy css, html etc. Ja generuję sobie w nim powtarzające się elementy formatki programu w javie.
To samo oczywiście mogę sobie zrobić pisząc skrypt w PHP czy bash-u, ale to trwa dłużej i wymaga skorzystania z pewnego programu uruchomieniowego. Tutaj wpisuję krótki, zwięzły kod i dostaję od razu wynik. Jak się pomylę, to na bieżąco mogę to poprawić i od razu zobaczyć rezultat.
Crozin
Cytat
1. Udostępniam exe, gdyż większość użytkowników jest przyzwyczajona do tego rozszerzenia plików wykonywalnych. Użytkownicy innych systemów operacyjnych zwykle posiadają dostęp do odpowiednich emulatorów np. wine na linuxie.
Sugerujesz, że jeżeli chciałbym pod Linkusem uruchomić powinienem specjalnie instalować Wine'a, tylko po to by uruchomić Twoją aplikację, która to sama w sobie jest kompletnie niezależna od platformy, a jedynie jej "plik startowy" został przygotowany stricte pod Windowsa? Przecież zwykły plik JAR (utworzony jako plik uruchomieniowy) zadziała pod każdym względem lepiej. A i Twoja aplikacja będzie nieco wygodniejsza dla użytkownika, bo na dobrą sprawę będzie pojedynczym plikiem.
Cytat
2. Składnia jest minimalnie uproszczona. Chodziło Ci zapewne o skrypty bash-owe. Mi osobiście nie bardzo odpowiada składnia tego języka, który jednak bardziej jest przystosowany do operacji na plikach, no i głównie pod systemem linux, chociaż wiadomo jest cygwin tongue.gif Anyway wątpię żeby przeciętny koder (designer etc) znał się na tego typu stuff'ach. Nie wiem jak w excelu chciałbyś wygenerować taki kod. Może pokażesz przykład?
Składnia jest bardzo nieintuicyjna oraz uboga. I chodziło mi raczej o konsole JavaScript dostępną w większości przeglądarek pod Shift + Ctrl + I, w której ten sam efekt osiągnę zdecydowanie szybciej, a przeciętny koder zna przynajmniej podstawy JS.
Pablo128
Cytat(Crozin @ 4.08.2013, 19:31:48 ) *
Sugerujesz, że jeżeli chciałbym pod Linkusem uruchomić powinienem specjalnie instalować Wine'a, tylko po to by uruchomić Twoją aplikację, która to sama w sobie jest kompletnie niezależna od platformy, a jedynie jej "plik startowy" został przygotowany stricte pod Windowsa? Przecież zwykły plik JAR (utworzony jako plik uruchomieniowy) zadziała pod każdym względem lepiej. A i Twoja aplikacja będzie nieco wygodniejsza dla użytkownika, bo na dobrą sprawę będzie pojedynczym plikiem.
Składnia jest bardzo nieintuicyjna oraz uboga. I chodziło mi raczej o konsole JavaScript dostępną w większości przeglądarek pod Shift + Ctrl + I, w której ten sam efekt osiągnę zdecydowanie szybciej, a przeciętny koder zna przynajmniej podstawy JS.

A nie uruchamiasz programów exe pod linuxem?
Kwestia JAR'a jest taka, że póki co wolę go nie udostępniać.

Składnia jest prosta i krótka. Nieintuicyjny to jest bash, bo jak w nim źle wstawisz spację to nie zinterpretuje tego jak trzeba tongue.gif No możliwe, ale mimo wszystko zamiast for(int i=0; i<11; i++){} robisz l[0:10]{} co wiele skraca.
Crozin
Cytat
A nie uruchamiasz programów exe pod linuxem?
Po co miałbym to robić? Uprzedzając kolejne pytanie: nic nie stoi na przeszkodzie, żeby na tym samym komputerze mieć również zainstalowanego Windowsa, o wirtualizacji nie wspominając.
Cytat
Kwestia JAR'a jest taka, że póki co wolę go nie udostępniać.
A co za różnica czy udostępniasz JAR czy EXE? Uprzedzając kolejne pytanie: wydobycie skompilowanego bytecode'u Javy w obu przypadkach trwa 5 sekund.

Cytat
Nieintuicyjny to jest bash, bo jak w nim źle wstawisz spację to nie zinterpretuje tego jak trzeba tongue.gif
Coś Ty się tak tego Basha uczepił. Ale jeżeli kryterium ma być sposób zapisu kodu to Twoje podejście na starcie przegrywa z np. Pythonem.
StrefaPi
Cytat(Pablo128 @ 4.08.2013, 15:17:40 ) *
1. Udostępniam exe, gdyż większość użytkowników jest przyzwyczajona do tego rozszerzenia plików wykonywalnych. Użytkownicy innych systemów operacyjnych zwykle posiadają dostęp do odpowiednich emulatorów np. wine na linuxie.


Cytat
jeśli chodzi o formatkę, no to jest to simple, easy Java/Swing. Prostota i użyteczność. Wiem, że można ładniej, ale nie jestem designerem, a tu też chodzi o funkcjonalność.
Skoro nie korzystasz z windowsa przez 10 lat, to zapewne wiesz jak uruchamiać exe-ki pod swoim Mac-iem czy innym linuxem

jak do tej pory przez ostatnie lata radziłem sobie bez odpalania exe, nie ma takiej potrzeby, bo co niby miałbym odpalać w takim exe?
pozatym jakbym miał sepcjalnie na macu instalować (i zakupić) sobie windowsa (albo jakikolwiek emulator) aby uruchomić jeden mały program to chyba mija się to z celem...

tak funkcjonalność jest powiązana z prostotą, ale nie wyklucza to tego, że można przemyśleć pewne rozwiązania... a tutaj nie widze tego...

jest jeszcze kwestia tego, że program zaprojektowany na windows, całkiem inaczej jest odczuwalny pod linuxem czy OSX, kwestia przyzwyczajenia i szczegółów, trochę inengo podejścia do projektowania itd...
chmiello
fajna rzecz, żeby pobawić się w tworzenie "kompilatora" (nazwijmy to kodowo) ale raczej mało użyteczne dla koderów bo (jak już wcześniej forumowicze zauważyli) i tak trzeba się nauczyć języka (lub pseudojęzyka programowania), a zauważ że nie zawsze dla nie znających programowania osób składnia for(....){} może być jaśniejsza niż l[i=0:10]{} (ja wiem, że chodzi o loop, a p jest od printa i dla mnie jest to zrozumiałe, ale jak bym się uczył, to chyba wolał bym mieć jasną sprawę). Poza tym nie ma pewności, że będziesz to rozwijał na tyle, żeby np były klasy, obiekty więc i tak ktoś będzie musiał się podeprzeć innym (w pełni rozwiniętym językiem).

Nie mniej jednak, projekt jest fajny od strony programowania, bo na pewno dużo rzeczy się nauczysz. Wygląd w tym momencie jest tak mało istotny, że go pomijam, bo nie ma sensu oceniać czegos po okładce, co spora grupa forumowiczów robi, co wprowadzają posty typu "grafika słaba, nie zachęca do czegos tam..."?

Powodzenia w dalszej pracy smile.gif
Pablo128
Cytat(Crozin @ 4.08.2013, 21:06:10 ) *
Po co miałbym to robić? Uprzedzając kolejne pytanie: nic nie stoi na przeszkodzie, żeby na tym samym komputerze mieć również zainstalowanego Windowsa, o wirtualizacji nie wspominając.
A co za różnica czy udostępniasz JAR czy EXE? Uprzedzając kolejne pytanie: wydobycie skompilowanego bytecode'u Javy w obu przypadkach trwa 5 sekund.

Coś Ty się tak tego Basha uczepił. Ale jeżeli kryterium ma być sposób zapisu kodu to Twoje podejście na starcie przegrywa z np. Pythonem.

Tak, tak. Skoro nie korzystasz z exe-ków to faktycznie utrudnienie z wprowadzaniem przeze mnie tylko wersji exe.
Z JAR-a wiem, że można zdekompilować, ale exe wydawał mi się pod tym względem bezpieczny. Teraz mi powiesz jak zdekompilować exe-ka, tak?
Tak przegrywa, moim założeniem nie było tworzenie nowego języka programowania tylko kilku instrukcji - 'pseudo języka', które wykonają szybko czynności generowania kodu.
Jak piszesz skrypt w bash-u czy pythonie, to musisz go napisać, zapisać, a potem zlecić jego przetworzenie. Tutaj wszystko dzieje się w locie i taki jest tego sens smile.gif

Cytat(StrefaPi @ 4.08.2013, 21:54:14 ) *
jak do tej pory przez ostatnie lata radziłem sobie bez odpalania exe, nie ma takiej potrzeby, bo co niby miałbym odpalać w takim exe?
pozatym jakbym miał sepcjalnie na macu instalować (i zakupić) sobie windowsa (albo jakikolwiek emulator) aby uruchomić jeden mały program to chyba mija się to z celem...

tak funkcjonalność jest powiązana z prostotą, ale nie wyklucza to tego, że można przemyśleć pewne rozwiązania... a tutaj nie widze tego...

jest jeszcze kwestia tego, że program zaprojektowany na windows, całkiem inaczej jest odczuwalny pod linuxem czy OSX, kwestia przyzwyczajenia i szczegółów, trochę inengo podejścia do projektowania itd...

no faktycznie, zmienię to na przyszłość
chodzi Ci o rozwiązania graficzne? Zwykła formatka Swing. Nie wiem czy ładniejsze są formatki Qt. Ale chyba nie ma sensu budować takiego "formularza" w bibliotece graficznej. Przynajmniej dla mnie to by się minęło z celem.

No pewnie tak, ja sam pracowałem jedynie pod linuxem, czego nie wspominam dobrze. A do sprzętu, którego cena obudowy przewyższa kilkukrotnie wartość wnętrza nie będę się wypowiadał tongue.gif

Cytat(chmiello @ 5.08.2013, 13:29:50 ) *
fajna rzecz, żeby pobawić się w tworzenie "kompilatora" (nazwijmy to kodowo) ale raczej mało użyteczne dla koderów bo (jak już wcześniej forumowicze zauważyli) i tak trzeba się nauczyć języka (lub pseudojęzyka programowania), a zauważ że nie zawsze dla nie znających programowania osób składnia for(....){} może być jaśniejsza niż l[i=0:10]{} (ja wiem, że chodzi o loop, a p jest od printa i dla mnie jest to zrozumiałe, ale jak bym się uczył, to chyba wolał bym mieć jasną sprawę). Poza tym nie ma pewności, że będziesz to rozwijał na tyle, żeby np były klasy, obiekty więc i tak ktoś będzie musiał się podeprzeć innym (w pełni rozwiniętym językiem).

Nie mniej jednak, projekt jest fajny od strony programowania, bo na pewno dużo rzeczy się nauczysz. Wygląd w tym momencie jest tak mało istotny, że go pomijam, bo nie ma sensu oceniać czegos po okładce, co spora grupa forumowiczów robi, co wprowadzają posty typu "grafika słaba, nie zachęca do czegos tam..."?

Powodzenia w dalszej pracy smile.gif

smile.gif No to prawda, że zawsze to jest jakaś dodatkowa pierdoła z nauczeniem się czegoś nowego. Dlatego starałem się zrobić to na maxa proste. Jak już wcześniej napisałem w założeniu to nie ma być język programowania, a taki mini-pseudo język do generowania kodu. Ja z tego korzystam i pomaga mi to zamiast pisania skryptu w php czy bash-u i później wykonywaniu go, piszę 2 razy krótszy kod i mam od razu result.
Faktycznie można to rozwijać, tylko po co. Jeśli miałoby to mieć sens, to musiałby to być jakiś nowy typ programowania lub język wprowadzający znaczące nowości w danej dziedzinie programowania - na pewno nie obiektowego, bo te jest już baardzo mocno rozwinięte i rozwijane przez ekspertów tongue.gif
Dzięki wielkie smile.gif
StrefaPi
Nie chodzi mi o "piękno" aplikacji ale o rozwiązania zwiększające jej efektywność... np. Inne rozwiązanie podpisów w formularzach byłoby lepsze... i bardziej minimalistyczne, zwiększające czytelność... (podpisy moglyby być krótkie w stylu Kod skryptu i Wygenerowany kod, poza tym mogłyby te podpisy znikać przy rozpoczęciu pisania... Bo moim zdaniem ogólnie są zbędne po rozpoczęciu pracy)

Uruchomiłem aplikację z JAR'a i np. Przyciski w polu menu są mylące (Skopiuj kod...) i nie za bardzo działają (raz się to klika a raz nie - nie wiadomo czy ogólnie kod się skopiował czy nie...) Brak dopasowania do systemu też bardzo widać... Okno otwórz czy zapisz jest co najmniej "dziwne" ale to szczegół, którym nie przejmowałbym się... Ale zawsze wyszukanie desktop'u zaczyna już być problemem... ;)

Twoich komentarzy dotyczących sprzętu nie skomentuje (za bardzo)... Żyjemy w wolnym kraju i każdy może wykorzystywać takie urządzenia/narzędzia jakie chce i zawsze ma ku temu pewne powody: unikalność pewnych rozwiązań sprzętowo-systemowych - bezobslugowość czy też niedostępność pewnych programów na inne platformy...
redeemer
Prawda jest taka, że "kod źródłowy" każdego języka można wygenerować w każdym języku. Fajnie, że to napisałeś i nauczyłeś się przy tym paru rzeczy, ale to, że twoja składnia jest krótsza to IMHO nie jest żaden argument. Poza tym, jak już wcześniej ktoś wspomniał dlaczego ktokolwiek miałby się uczyć nowej składni? Możliwe, że jakbyś dorobił do tego jakieś "magiczne wizardy", w których można "wyklikać" ten kod to miałoby to większy sens.

Jeśli korzystałeś z tzw. "parser generators", to wypadałoby pochwalić się z jakich (ja kiedyś używałem Bisona, ale zdaje się teraz są lepsze rozwiązania).

Dodatkowo IDE zazwyczaj oferują tego typu możliwości, np. makra. Kwestia obycia się z narzędziem.

Do "pełnej" oceny poczekam na kod parsera smile.gif
StrefaPi
a może lepiej w takim kierunku... http://coffeescript.org/
Crozin
1. Popracuj nad angielskim.
2. W Swingu możesz uzyskać GUI bardzo zbliżone do systemowego - Google: Swing UIManager.
3. Przyczepiłem się do tego EXE-ka, bo decyzja o jego wprowadzeniu nie niesie za sobą absolutnie żadnej korzyści.
4. Cechą wspólną wszystkich "pseudo-języków" jest ich nieefektywność. Bardzo szybko zaczynają jedynie rzucać kłody pod nogi zamiast pomagać. Ten sam efekt mógłbyś uzyskać w interaktywnej konsoli PHP/JS/Pythona/Ruby'ego czy innych języków w tym samym czasie: bez potrzeby instalowania dodatkowych narzędzi i uczenia się ich.
5. Jednak najistotniejszego nadal nie napisałem. W ogóle nie powinno się robić czegoś takiego, "generować kodu i wklejać w dane miejsce". Powinieneś utworzyć sobie jakąś funkcję pomocniczą/makro, które na podstawie danych wygeneruje dynamicznie to co Ty chciałbyś robić ręcznie.
Pablo128
Cytat(StrefaPi @ 5.08.2013, 20:35:22 ) *
Nie chodzi mi o "piękno" aplikacji ale o rozwiązania zwiększające jej efektywność... np. Inne rozwiązanie podpisów w formularzach byłoby lepsze... i bardziej minimalistyczne, zwiększające czytelność... (podpisy moglyby być krótkie w stylu Kod skryptu i Wygenerowany kod, poza tym mogłyby te podpisy znikać przy rozpoczęciu pisania... Bo moim zdaniem ogólnie są zbędne po rozpoczęciu pracy)

Uruchomiłem aplikację z JAR'a i np. Przyciski w polu menu są mylące (Skopiuj kod...) i nie za bardzo działają (raz się to klika a raz nie - nie wiadomo czy ogólnie kod się skopiował czy nie...) Brak dopasowania do systemu też bardzo widać... Okno otwórz czy zapisz jest co najmniej "dziwne" ale to szczegół, którym nie przejmowałbym się... Ale zawsze wyszukanie desktop'u zaczyna już być problemem... wink.gif

Twoich komentarzy dotyczących sprzętu nie skomentuje (za bardzo)... Żyjemy w wolnym kraju i każdy może wykorzystywać takie urządzenia/narzędzia jakie chce i zawsze ma ku temu pewne powody: unikalność pewnych rozwiązań sprzętowo-systemowych - bezobslugowość czy też niedostępność pewnych programów na inne platformy...

Ok, dzięki za celną uwagę smile.gif

Z jakiego JAR'a uruchomiłeś? Te przyciski działają jak Ctrl-C i Ctrl-V, więc nie wiadomo. Chociaż jak przyciśniesz na to menu to czasami Ci się podświetlą. Faktycznie, to też jest do dopracowania. Dzięki za kolejną uwagę. Rozumiem, że na Mac-u nie działają te operacje I/O ?

Nie no, oczywiście masz rację tongue.gif Każdy może robić co mu się podoba, w granicach przyzwoitości.


Cytat(redeemer @ 5.08.2013, 20:48:58 ) *
Prawda jest taka, że "kod źródłowy" każdego języka można wygenerować w każdym języku. Fajnie, że to napisałeś i nauczyłeś się przy tym paru rzeczy, ale to, że twoja składnia jest krótsza to IMHO nie jest żaden argument. Poza tym, jak już wcześniej ktoś wspomniał dlaczego ktokolwiek miałby się uczyć nowej składni? Możliwe, że jakbyś dorobił do tego jakieś "magiczne wizardy", w których można "wyklikać" ten kod to miałoby to większy sens.

Jeśli korzystałeś z tzw. "parser generators", to wypadałoby pochwalić się z jakich (ja kiedyś używałem Bisona, ale zdaje się teraz są lepsze rozwiązania).

Dodatkowo IDE zazwyczaj oferują tego typu możliwości, np. makra. Kwestia obycia się z narzędziem.

Do "pełnej" oceny poczekam na kod parsera smile.gif


Wizardy to jest świetny pomysł smile.gif Dzięki.
Jeśli Ci chodzi o notację Backusa-Naura, to korzystałem z Yacc'a. Ale to akurat jest analizowane przez zwyczajne parsowanie.

No makra fajna sprawa, ale jakoś w tym mi się osobiście szybciej generuje to co trzeba tongue.gif

Hahhaha... kto powiedział, że go zobaczysz tongue.gif

Cytat(StrefaPi @ 5.08.2013, 20:59:53 ) *
a może lepiej w takim kierunku... http://coffeescript.org/


Warte zastanowienia. Dzięki smile.gif


Cytat(Crozin @ 5.08.2013, 21:02:02 ) *
1. Popracuj nad angielskim.
2. W Swingu możesz uzyskać GUI bardzo zbliżone do systemowego - Google: Swing UIManager.
3. Przyczepiłem się do tego EXE-ka, bo decyzja o jego wprowadzeniu nie niesie za sobą absolutnie żadnej korzyści.
4. Cechą wspólną wszystkich "pseudo-języków" jest ich nieefektywność. Bardzo szybko zaczynają jedynie rzucać kłody pod nogi zamiast pomagać. Ten sam efekt mógłbyś uzyskać w interaktywnej konsoli PHP/JS/Pythona/Ruby'ego czy innych języków w tym samym czasie: bez potrzeby instalowania dodatkowych narzędzi i uczenia się ich.
5. Jednak najistotniejszego nadal nie napisałem. W ogóle nie powinno się robić czegoś takiego, "generować kodu i wklejać w dane miejsce". Powinieneś utworzyć sobie jakąś funkcję pomocniczą/makro, które na podstawie danych wygeneruje dynamicznie to co Ty chciałbyś robić ręcznie.

1. I practise all time.
2. Wypróbowałem i faktycznie działa, wygląda bardziej windowsowo. Dzięki smile.gif
3. Niesie korzyść taką, że kod jest niejawny, chyba że mnie teraz zaskoczysz i zdekompilujesz tą apkę.
4. Poka poka taką konsolę
5. Przy kodzie akcji oczywiście, że nie powinno się tak robić, ale tutaj jest mowa o generowaniu kodu formatek - ich powtarzalnych cześci np. 10 identycznych progressbarów.
StrefaPi
Cytat
Z jakiego JAR'a uruchomiłeś?

z tego jara, który jest w tym exe spakowany po prostu... :/

Cytat
Niesie korzyść taką, że kod jest niejawny, chyba że mnie teraz zaskoczysz i zdekompilujesz tą apkę.

wykorzystałeś najbardziej prosty sposób, całe 8 sekund zajmuje wydobycie jara z tego exe... :/

Cytat
Rozumiem, że na Mac-u nie działają te operacje I/O ?

działają jedynie okienka z wyborem katalogu - pewnie też na innych systemach są standardowe z javy a nie systemowe, a tam każdy katalog wygląda identycznie, nie jest to optymalne rozwiązanie
a kopiowanie też działa, tylko te przyciski nie wyglądają jakby się je przyciskało, czasem się coś podświetli (ale jakoś losowo), ale ogólnie to nie widać w jakim stanie jest ten przycisk
Crozin
Ad. 1. ...all the time. wink.gif
Ad. 3. No przecież napisałem, że można to zrobić w minutę. PPM na EXE-ka -> 7-zip -> wypakuj. Później już pierwszy lepszy dekompilator Javy i mamy źródła.
Ad. 4. PHP: http://php.net/manual/en/features.commandl...interactive.php, java script: Shift + Ctrl + I, Python: $ python3, Ruby/Groovy/dowolny inny język skryptowy: to samo.
Ad. 5. Nie wiem co masz na myśli pisząc o "formatkach", ale ja mówię o generowaniu najzwyklejszego HTML-a.
Pablo128
Cytat(StrefaPi @ 5.08.2013, 22:46:27 ) *
z tego jara, który jest w tym exe spakowany po prostu... :/


wykorzystałeś najbardziej prosty sposób, całe 8 sekund zajmuje wydobycie jara z tego exe... :/


działają jedynie okienka z wyborem katalogu - pewnie też na innych systemach są standardowe z javy a nie systemowe, a tam każdy katalog wygląda identycznie, nie jest to optymalne rozwiązanie
a kopiowanie też działa, tylko te przyciski nie wyglądają jakby się je przyciskało, czasem się coś podświetli (ale jakoś losowo), ale ogólnie to nie widać w jakim stanie jest ten przycisk

W jaki sposób wyciągnąłeś jara z exe-ka?

Yhym, no na windzie też to tak działa. Przemyślę lepsze rozwiązania. Dzięki za uwagę smile.gif
Tak, zauważyłem to. Poprawię to, bo faktycznie kiepsko to działa pod względem UX.

Cytat(Crozin @ 5.08.2013, 23:52:11 ) *
Ad. 1. ...all the time. wink.gif
Ad. 3. No przecież napisałem, że można to zrobić w minutę. PPM na EXE-ka -> 7-zip -> wypakuj. Później już pierwszy lepszy dekompilator Javy i mamy źródła.
Ad. 4. PHP: http://php.net/manual/en/features.commandl...interactive.php, java script: Shift + Ctrl + I, Python: $ python3, Ruby/Groovy/dowolny inny język skryptowy: to samo.
Ad. 5. Nie wiem co masz na myśli pisząc o "formatkach", ale ja mówię o generowaniu najzwyklejszego HTML-a.

1. tongue.gif
3. mógłbyś podać linka?
4. obczaję to później
5. No tak, ja akurat generowałem powtarzające się elementy w formatkach w jave'ie
Crozin
Ad. 3: http://www.7-zip.org/ + http://java.decompiler.free.fr/?q=jdgui = http://www.speedyshare.com/FnNme/generator.src.zip
Ad. 5. Nadal nie rozumiem czym mają być "formatki w Javie", ale zapewne to samo zadanie dużo lepiej zrealizują Ci makra w IDE czy zwykła funkcja w samej Javie.
Pablo128
Cytat(Crozin @ 6.08.2013, 11:16:37 ) *
Ad. 3: http://www.7-zip.org/ + http://java.decompiler.free.fr/?q=jdgui = http://www.speedyshare.com/FnNme/generator.src.zip
Ad. 5. Nadal nie rozumiem czym mają być "formatki w Javie", ale zapewne to samo zadanie dużo lepiej zrealizują Ci makra w IDE czy zwykła funkcja w samej Javie.

3. o ja tej, nie wiedziałem, że tak łatwo dostać się do jar'a. hahaha, dzięki za info. A myślałem, że se zabezpieczyłem exe'kiem.
5. Jak mam na przykład na formatce w Java Swing 10 progressBarów, to
Cytat
this.slowo1 = new JLabel("");
verticalBox.add(slowo1);
this.progressBar1 = new JProgressBar();
this.progressBar1.setVisible(false);
progressBar1.setStringPainted(true);
verticalBox.add(progressBar1);

this.slowo2 = new JLabel("");
verticalBox.add(slowo2);
this.progressBar2 = new JProgressBar();
this.progressBar2.setVisible(false);
progressBar2.setStringPainted(true);
verticalBox.add(progressBar2);

this.slowo3 = new JLabel("");
verticalBox.add(slowo3);
this.progressBar3 = new JProgressBar();
this.progressBar3.setVisible(false);
progressBar3.setStringPainted(true);
verticalBox.add(progressBar3);

this.slowo4 = new JLabel("");
verticalBox.add(slowo4);
this.progressBar4 = new JProgressBar();
this.progressBar4.setVisible(false);
progressBar4.setStringPainted(true);
verticalBox.add(progressBar4);

this.slowo5 = new JLabel("");
verticalBox.add(slowo5);
this.progressBar5 = new JProgressBar();
this.progressBar5.setVisible(false);
progressBar5.setStringPainted(true);
verticalBox.add(progressBar5);

this.slowo6 = new JLabel("");
verticalBox.add(slowo6);
this.progressBar6 = new JProgressBar();
this.progressBar6.setVisible(false);
progressBar6.setStringPainted(true);
verticalBox.add(progressBar6);

this.slowo7 = new JLabel("");
verticalBox.add(slowo7);
this.progressBar7 = new JProgressBar();
this.progressBar7.setVisible(false);
progressBar7.setStringPainted(true);
verticalBox.add(progressBar7);

this.slowo8 = new JLabel("");
verticalBox.add(slowo8);
this.progressBar8 = new JProgressBar();
this.progressBar8.setVisible(false);
progressBar8.setStringPainted(true);
verticalBox.add(progressBar8);

this.slowo9 = new JLabel("");
verticalBox.add(slowo9);
this.progressBar9 = new JProgressBar();
this.progressBar9.setVisible(false);
progressBar9.setStringPainted(true);
verticalBox.add(progressBar9);

this.slowo10 = new JLabel("");
verticalBox.add(slowo10);
this.progressBar10 = new JProgressBar();
this.progressBar10.setVisible(false);
progressBar10.setStringPainted(true);
verticalBox.add(progressBar10);

wygląda tak
Crozin
O cholera, co to ma być?! Obowiązkowa lektura: http://docs.oracle.com/javase/tutorial/collections/ + http://docs.oracle.com/javase/tutorial/jav...bolts/flow.html Przecież tutaj wystarczy jedna pętla i kolekcja elementów, żeby cały ten kod w 10 liniach zmieścić. wink.gif
Pablo128
No generalnie mogłem zrobić jedną nazwę zmiennej i wrzucać je na listę.

Co powiecie na takie kierunki rozwoju programu:
-> kalkulator - oprócz prostych operacji: pochodne, całki, funkcje trygonometryczne
-> struktury bazy danych xml>sql i vice versa
-> operacje na plikach, stringi, wyrażenia regularne
-> wysyłanie maili przez skrypt np. wysyłam wiadomość napisaną w jednym pliku do listy maili z innego pliku

proszę o krytyczne uwagi, bo nie chcę powielać niczego, a wydaje mi się, że te pomysły są średnio dobre.

Crozin
Jaki jest cel tych programów? Jeżeli mają być pisane w celu poprawienia swojego warsztatu czy "4fun" to jak najbardziej możesz to robić. Miej jednak na uwadze, że wszystko co wypisałeś powyżej jest już dostępne.
b4rt3kk
Nie chce Cię zniechęcać, bo fajnie, że chce Ci się coś robić, ale tego typu programy mają raczej niewielkie zastosowanie. Nie ma sensu uczyć się składni Twojego programu, skoro PHP jest o wiele prostszy, przejrzystszy, a także intuicyjny. Także nie ma sensu generować kodu HTML za pomocą Twojego programu, kiedy możesz to zrobić przy użyciu PHP. Zamiast wklejać wygenerowany kod z programu (który z założenia nie jest dynamiczny), lepiej tenże kod wygenerować za pomocą PHP. I nie obchodzi mnie, czy z bazy pobierze 10 rekordów, czy też 1000.
Pablo128
Cytat(Crozin @ 6.08.2013, 19:31:53 ) *
Jaki jest cel tych programów? Jeżeli mają być pisane w celu poprawienia swojego warsztatu czy "4fun" to jak najbardziej możesz to robić. Miej jednak na uwadze, że wszystko co wypisałeś powyżej jest już dostępne.

No właśnie zastanawiam się nad tym w jaki sposób można by było ułatwić pracę przy takich czynnościach i zrobić nowe podejście do istniejących rozwiązań, by stworzyć je lepsze.
Sam mam też mieszane uczucia, dlatego pytam, bo może ktoś zaproponuje jakąś drogę.

Cytat(b4rt3kk @ 7.08.2013, 00:35:14 ) *
Nie chce Cię zniechęcać, bo fajnie, że chce Ci się coś robić, ale tego typu programy mają raczej niewielkie zastosowanie. Nie ma sensu uczyć się składni Twojego programu, skoro PHP jest o wiele prostszy, przejrzystszy, a także intuicyjny. Także nie ma sensu generować kodu HTML za pomocą Twojego programu, kiedy możesz to zrobić przy użyciu PHP. Zamiast wklejać wygenerowany kod z programu (który z założenia nie jest dynamiczny), lepiej tenże kod wygenerować za pomocą PHP. I nie obchodzi mnie, czy z bazy pobierze 10 rekordów, czy też 1000.

yhym, no w nowej wersji dodam wizardy, to nie będzie tego problemu z nauką składni
sazian
Cytat(Pablo128 @ 7.08.2013, 08:07:45 ) *
No właśnie zastanawiam się nad tym w jaki sposób można by było ułatwić pracę przy takich czynnościach i zrobić nowe podejście do istniejących rozwiązań, by stworzyć je lepsze.
Sam mam też mieszane uczucia, dlatego pytam, bo może ktoś zaproponuje jakąś drogę.


a myślałeś nad jakimś rozwiązaniem bardziej graficznym ? np. coś w rodzaju schematu blokowego.
czyli możesz napisać kod i później zobaczyć go w postaci graficznych komponentów lub poukładać komponenty i połączyć połączyć je ze sobą

tak na szybko http://imageshack.us/photo/my-images/856/to6j.png/ dla pierwszego przykładu ze strony http://netrotech.pl/pl/pswiderski/blog/now...nerator-kodu/15
oczywiście należałoby to jakoś ładniej przedstawić chodzi o sam koncept
Pablo128
Jeśli chodzi o generator graficzny, to taki generator tworzy się dla konkretnej technologii, tak jak Dreamweaver dla stron www (HTML/CSS) czy tak jak u mnie w pracy jest tworzony generator do tworzenia scen gier. Ten projekt nie pójdzie w tą stronę.

Schemat blokowy, to fajny pomysł. Myślałem osobiście o schematach UML, ale takie już są i niekoniecznie przyspieszają, bo w będąc w punkcie A ciężko określić z góry jakie metody będzie miała 1 klasa, a co dopiero kilka. Zresztą w sensie generowania kodu, to one też dużo nie "piszą", bo np. Eclipse ładnie obsługuje dodawanie metod, zmiennych etc. To jeśli chodzi o takie programowanie obiektowe.
Przy kodowaniu stronek no nie wiem. Przy aktualizacji dodam wizardy, one powinny być pomocne.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.