Język programowania do tworzenia aplikacji sieciowych

0

up: offtop!

Ja polecam cpp (ewentualnie c) a to dlatego ze jest latwy, bezpieczny, szybki, mozna w nim napisac wszystko oraz produkowac komercyjny software za free. jest calkiem dobra alternatywa a klasy sieciowe przedstawilem na poczatku watku.

0
cyber_pl napisał(a)

Ja polecam cpp (ewentualnie c) a to dlatego ze jest latwy,

chyba w malo ktorym jezyku jak w C++ wazne jest doswiadczenie, a tego nie zdobedziesz w pol roku, dlatego imho C++ to jeden z najtrudniejszych jezykow

cyber_pl napisał(a)

bezpieczny

goscie z sun'a tak nie mysleli, powstala java i jej wyniki finansowe sa wystarczajacym kontrargumentem do twojej tezy

cyber_pl napisał(a)

mozna w nim napisac wszystko oraz produkowac komercyjny software za free.

mozna ale nie za free, bol sie zaczyna jak chcesz stworzyc komercyjny soft i nie naruszyc licencji danych bibliotek i narzedzi...

zreszta ... wyzej pokazal dlaczego c++ jest nie dla dzieci [diabel]

0
cyber_pl napisał(a)

Ja polecam cpp (ewentualnie c) a to dlatego ze jest latwy

Tak, popatrz na moje offtopowe posty, na jakie idiotyzmy w majestacie standardu kompilatory pozwalają. To faktycznie proste... C++ to niespójny moloch, pełen pułapek:

#include <iostream>
using namespace std;

int main() {
  unsigned i(69);
  cout << --i << endl << --i << endl; // i jakie będzie wyjście?
}
cyber_pl napisał(a)

bezpieczny

Porównaj ilość dziur, podatności itd. w aplikacjach w C/C++ i w Javie/C#. Jak wyjdzie 100:1 to będzie dobrze.

cyber_pl napisał(a)

szybki

Java w trybie server jest szybsza od C++ - program najpierw przez pewien czas pracuje powoli, jest profilowany i analizowany, potem odpalana jest kompilacja w oparciu o te dane + zaawansowane optymalizacje. C++ nie ma szans. Poza tym wspomniany projekt w Haskellu - C++ jest zachłanny i zawsze wartościuje wszystko do oporu, co pochłania cenną pamięć i moc obliczeniową. Optymalizacja kodu posiadającego efekty uboczne jest o rzędy wielkości trudniejsza niż czystego kodu funkcyjnego...

cyber_pl napisał(a)

mozna w nim napisac wszystko

Poza tym, czego się napisać nie da - np. większości exploitów.

produkowac komercyjny software za free

Jak w C#, Javie, Haskellu, Scali, Pythonie, Ruby, Smalltalku, Lispie...

0
cepa napisał(a)

mozna ale nie za free, bol sie zaczyna jak chcesz stworzyc komercyjny soft i nie naruszyc licencji danych bibliotek i narzedzi...

A kto Ci kaze uzywac takich narzedzi to tak samo jak bys chcial uzywac klas napisanych przez borlanda, <ort>poco </ort>wiec pisac w cpp skoro mozna kupic sobie licencje i miec wszystko z glowy.

Nie chcesz naruszac praw, napisz klase dla siebie od nowa.

Cpp jest bardzo latwym jezykiem (skladnia, mozliwosci) etc. Mozna sie skladni nauczyc w kilka dni, std tak samo a reszta to wspolpraca jezyka z platforma dla ktorej sie buduje software.

Cpp jest na tyle bezpieczny aby spokojnie w nim napisac bezpieczny serwer, przykladem sa np znc serwer sieci irc.

0
... napisał(a)
cyber_pl napisał(a)

up: offtop!

i c****.

cyber_pl napisał(a)

mozna w nim napisac wszystko

Poza tym, czego się napisać nie da - np. większości exploitów.

Bardzo chamskie zachowanie, az dziw ze Cie tutaj nie zbanowali ale mnie za odkopanie <ort>Od razu</ort>, brawo dla administracji !!!

Stare exploity byly pisane w c, a co da sie napisac w c mozna przepisac do cpp i na inne jezyki, nie rozumiem o co Ci chodzi, sprecyzuj... o jakie exploity Ci chodzi, sieciowe ? mozesz zaimplementowac metode exploita sieciowego remote nawet w php ... :-D

0
cyber_pl napisał(a)
cepa napisał(a)

mozna ale nie za free, bol sie zaczyna jak chcesz stworzyc komercyjny soft i nie naruszyc licencji danych bibliotek i narzedzi...
A kto Ci kaze uzywac takich narzedzi to tak samo jak bys chcial uzywac klas napisanych przez borlanda, poco wiec pisac w cpp skoro mozna kupic sobie licencje i miec wszystko z glowy.

rynek i konkurencja, bo widzisz... oprogramowanie sie przewaznie sprzedaje lub uslugi z nimi zwiazane bo jak odessasz sie o mamusinego suta to nadchodzi czas zarabiania bardzo realnych pieniedzy lub obalanie np: Patykiem teorii OOP z chlopakami pod monopolem, sam musisz wybrac co ci bardziej odpowiada

cyber_pl napisał(a)

Nie chcesz naruszac praw, napisz klase dla siebie od nowa.

niestety, za oprogramowaniem specjalistycznym, stoi wiedza specjalistyczna, ktorej gromadzenie moze zajac lata, a "napisanie klasy od nowa" to w tym przypadku formalnosc

cyber_pl napisał(a)

Cpp jest bardzo latwym jezykiem (skladnia, mozliwosci) etc. Mozna sie skladni nauczyc w kilka dni, std tak samo a reszta to wspolpraca jezyka z platforma dla ktorej sie buduje software.

niektorzy uwazaja ze programowac to mozna i małpe nauczyc, natomiast tworzyc oprogramowanie juz nie

cyber_pl napisał(a)

Cpp jest na tyle bezpieczny aby spokojnie w nim napisac bezpieczny serwer, przykladem sa np znc serwer sieci irc.

jakby c++ byl taki bezpieczny, to nie trzeba by bylo opakowywac projektu w tysiace testow jednostkowych, a i przekladalo by sie to bezposrednio na sytuacje na rynku, odpowiedz sobie na pytanie dlaczego takie zapotrzebowanie na Java / C#

osobiscie wole C++ od Javy ale nie jest to jezyk do wszystkiego

0
cepa napisał(a)

osobiscie wole C++ od Javy ale nie jest to jezyk do wszystkiego

Mozna te zdanie czytac tak samo od konca, i tak osobiscie sadze ze jezyki c/cpp nadal sa atrakcyjne do tworzenia oprogramowania.

W cpp mozna napisac wszystko tylko kwestia poswieconego czasu do tego, jesli brak Ci czasu kup sobie licencje jakiegos srodowiska developerskiego. Do napisania wlasnej biblioteki sieciowej dla win32 wystarczy msdn oraz te zasob:

http://tangentsoft.net/wskfaq/

Nie mow mi ze potrzebna jest wiedza TAK specjalistyczna zebys tego nie napisal ...

0
cyber_pl napisał(a)
cepa napisał(a)

osobiscie wole C++ od Javy ale nie jest to jezyk do wszystkiego

Mozna te zdanie czytac tak samo od konca, i tak osobiscie sadze ze jezyki c/cpp nadal sa atrakcyjne do tworzenia oprogramowania.

eh... jezyk to narzedzie, jak sie cos buduje to sie wybiera taki w ktorym stosunek wymagan do czasu bedzie najwyzszy :P

cyber_pl napisał(a)

W cpp mozna napisac wszystko tylko kwestia poswieconego czasu do tego,

tak tylko wyobraz sobie ze czas programisty jest najdrozszym zasobem firmy informatycznej, jak go bedziesz marnowal to tak jakbys podcieral dupsko swoja wlasna gotowka

cyber_pl napisał(a)

jesli brak Ci czasu kup sobie licencje jakiegos srodowiska developerskiego.

ide to tylko jeden z wieeeelu programow jakie sa niezbedne do pracy nad projektem
i wiele z nich w ogole nie sluzy do programowania

cyber_pl napisał(a)

Do napisania wlasnej biblioteki sieciowej dla win32 wystarczy msdn oraz te zasob:
http://tangentsoft.net/wskfaq/
Nie mow mi ze potrzebna jest wiedza TAK specjalistyczna zebys tego nie napisal ...

ekhm... biblioteki narzedziowe to takie pierdy ktore pisze sie <ort>conajwyzej </ort>raz, lub Od razu sa dostarczane wraz z frameworkiem, bo co tu duzo gadac ale szczyt programowania to to nie jest

0
cyber_pl napisał(a)

Stare exploity byly pisane w c, a co da sie napisac w c mozna przepisac do cpp i na inne jezyki, nie rozumiem o co Ci chodzi, sprecyzuj... o jakie exploity Ci chodzi, sieciowe ? mozesz zaimplementowac metode exploita sieciowego remote nawet w php ... :-D

Tak, tak. Zależy co exploitujemy i jak. Ale napisz mi local-root exploita na jedną z ostatnich fajnych luk w kernelu linuksa bez użycia kodu maszynowego/asma w tej czy innej postaci. Stare exploity to właśnie używały dodatków maszynowych albo całe w asm były...

cyber_pl napisał(a)

Bardzo chamskie zachowanie, az dziw ze Cie tutaj nie zbanowali ale mnie za odkopanie Od razu, brawo dla administracji !!!

Za co? To Ty trollujesz, chociażby tak:

Cpp jest bardzo latwym jezykiem (skladnia, mozliwosci) etc. Mozna sie skladni nauczyc w kilka dni, std tak samo a reszta to wspolpraca jezyka z platforma dla ktorej sie buduje software.

Nauka pisania oprogramowania pod Windows to lekko kilka miesięcy... Nauka C++ i OOP to lata. Składnia jest tak prosta, że chociażby metody czysto wirtualne mają ciała...

W cpp mozna napisac wszystko tylko kwestia poswieconego czasu do tego

To samo mogę powiedzieć chociażby o Haskellu...

0

Zresztą nie będę się cackał - pokazałeś jak doskonale znasz C/C++ w swoich projektach - kilka Twoich kodów (tak, najnowszy kod, żebyś się nie wypierał) wylądowało w 'największych programistycznych WTF', zasłużenie.

0

@cyber_pl - po prostu pokaż tym wszystkim niedowiarkom rozwiązanie biznesowego problemu, które w C++ będzie na tyle wydajniejsze niż w Javie/C#, że warte większych nakładów czasowych na jego wykonanie.

0

Ta implementacja srodowiska jest wycelowana specjalnie na przenosny kod, nic nie pisza o wydajnosci lecz jakby mi sie chcialo moglbym sprawdzic ta metode wirtualizacji, jestem pewny ze wydajnosc takiego softwaru spada na psy ze wzgledu na jego specyfikacje, aby wykonac kod musisz go wygenerowac gdzie inne programy juz zaczynaja sie wykonywac bez zbednych obliczen.

No to nie doczytałeś. Przenośność w tym rodzaju softu ma najmniejsze znaczenie - SLEE i tak działa na dedykowanym serwerze i na jednym systemie (najczęściej Solaris).
Jak już pisałem taki soft ma przetwarzać tranzakacje w soft-realtime a kluczem do tego jest wydajność. Gdybyś chociaż przeczytał tutorial to byś nie wypisywał bzdur.

0
cyber_pl napisał(a)

Nie chcesz naruszac praw, napisz klase dla siebie od nowa.

Po tym zdaniu widać w jakiej skali projektów się obracasz. Tzw. klasa zabawkowa

Skończ się siać mity i sprzedawać ludziom bzdury bo jeszcze nie daj boże ktoś pójdzie ktoś za twoimi radami !

Zacznij pisać serwer z prawdziwego zdarzenia, w którym wymagany jest bardziej zaawansowany thread pooling, połączenie z baządanych przez odbc także wraz z poolingiem, api oparte np. o cobre lub soap, self-maintance oraz panel administracyjny dostępny przez przeglądarkę. Zacznij to pisać bez użycia żadnych framework'ów, odejdź z tego forum i wróć kiedy ci się uda. (hhhhssssiuuuu już go więcej nie zobaczymy :) )

poza tym co to są za dyskusje typu czy MessageBox zajmie 5 instrukcji asm czy 30 ? Przecież to nie jest ważne ! Optymalizować trzeba kluczowe elementy a nie MessageBox. Obczaj sobie ile warstw abstrakcji i tysięcy linii asm musi przejść głupie pole textarea, w którym napiszesz kolejnego idiotycznego posta na forum. Mimo to wszyscy wolą korzystać właśnie z tego zamiast np. implementować całe strony ActiveX/C++.

Tak samo każdy klient będzie wolał po tysiąc kroć moje GUI w Eclipse RCP, które jest wygodne i użyteczne zamiast GUI z tych twoich bezużytecznych zabawek, które tu publikujesz. Co z tego że zajmują mniej instrukcji asm ? I że aplikacja zamiast obciążać procek w 13% będzie w 6 % ? Gdzie tu wartość dodana ?

0
rnd napisał(a)

No to nie doczytałeś. Gdybyś chociaż przeczytał tutorial to byś nie wypisywał bzdur.

Przeczytaj ten tekst:

JAIN SLEE is the only industry standard aimed at portable communications applications, i.e. a communications application can be written once and run on many different implementations of JAIN SLEE. Application portability is made possible by the combination of a programming language API (specified using the Java programming language), an unambiguous technical specification, a Reference Implementation, and a rigorous suite of tests that a vendor must pass before their product is compliant with the JAIN SLEE specification.

JAIN SLEE is the point of integration for multiple network resources and protocols. Applications can use many different external network resources from within the JAIN SLEE environment.

A teraz zaprzecz ze glownym celem tego mechanizmu nie jest przenosnosc kodu. Sam sobie przeczysz.

Pokaz mi cytat ktory stwierdza jednomyslnie ze projekt jest napisany z zachowaniem wydajnosci pracy kodu wynikowego oraz statystyki jego prawdziwej wydajnosci. Nie pisz bzdur o ktorych nie masz pojecia zwalszcza obrazajac innych! Widac brak wychowania po takim zachowaniu.

i teraz kolejna riposta:

walec51 napisał(a)
cyber_pl napisał(a)

Nie chcesz naruszac praw, napisz klase dla siebie od nowa.

Po tym zdaniu widać w jakiej skali projektów się obracasz. Tzw. klasa zabawkowa

Skończ się siać mity i sprzedawać ludziom bzdury bo jeszcze nie daj boże ktoś pójdzie ktoś za twoimi radami !

Zacznij pisać serwer z prawdziwego zdarzenia, w którym wymagany jest bardziej zaawansowany thread pooling, połączenie z baządanych przez odbc także wraz z poolingiem, api oparte np. o cobre lub soap, self-maintance oraz panel administracyjny dostępny przez przeglądarkę. Zacznij to pisać bez użycia żadnych framework'ów, odejdź z tego forum i wróć kiedy ci się uda. (hhhhssssiuuuu już go więcej nie zobaczymy :) )

poza tym co to są za dyskusje typu czy MessageBox zajmie 5 instrukcji asm czy 30 ? Przecież to nie jest ważne ! Optymalizować trzeba kluczowe elementy a nie MessageBox. Obczaj sobie ile warstw abstrakcji i tysięcy linii asm musi przejść głupie pole textarea, w którym napiszesz kolejnego idiotycznego posta na forum. Mimo to wszyscy wolą korzystać właśnie z tego zamiast np. implementować całe strony ActiveX/C++.

Tak samo każdy klient będzie wolał po tysiąc kroć moje GUI w Eclipse RCP, które jest wygodne i użyteczne zamiast GUI z tych twoich bezużytecznych zabawek, które tu publikujesz. Co z tego że zajmują mniej instrukcji asm ? I że aplikacja zamiast obciążać procek w 13% będzie w 6 % ? Gdzie tu wartość dodana ?

Ktos w tym temacie poruszal metod watkowych ? ktos poruszal metody administracji budowanym systemem ? Ktos wspominal o konsolidacji mechanizmow baz danych z takowym projektem sieciowym ?

Znajde Ci po 5 roznych implemetacji bibilotek ktore moge do tego uzyc legalnie, abym mogl zaimplementowac te cechy w programie.

"zaawansowany thread pooling" - zwykle watki programowe z elementami statusowymi nic nadzwyczajnego.

"połączenie z baządanych przez odbc" - poco? pracodawca sobie zazyczyl? postgre, mysql, sqlite i w dodatku za free.

"oraz panel administracyjny dostępny przez przeglądarkę" - poco w samym serwerze to implementowac ? a moze lepiej przez tls / ssl za pomoca serwera http? mechanizm ktory bylby niezalezny z polaczeniem do bazy danych?

Jesli na jedno wywolanie do winapi wydajnosc leci na pysk to jak myslisz jak wydajnosc wyglada po 100 czy 1000 takich wywolan ? Aplikacja ktora ingeruje w dana platforme systemowa jasne jest ze wykonuje bezprzerwy skoki do bibliotek systemowych (winapi?). Ale ok zalozmy ze proste funkcje sobie samemu zaimplementujesz w kodzie softu i tutaj sytuacja wyglada jeszcze lepiej, bo zamiast kilku instrukcji trzeba zdekodowac cale cialo funkcji!

A teraz dlaczego WSZYSCY obrazacie innych uzytkownikow bez zadnych sesnsownych argumentow do tego? Umiecie czytac ze zrozumieniem? Czytajcie od poczatku watku a nie ostanie posty.

Nie musiscie pisac o tym co jest oczywiste, wiem ze lepiej miec licencje na srodowisko developerskie ale jesli sie takowego nie ma, co wtedy ... warto znac alternatywne rozwiazania.

Wypraszam sobie obrazanie mnie zwlaszcza bez celu.

0

"zaawansowany thread pooling" - zwykle watki programowe z elementami statusowymi nic nadzwyczajnego.

Zważywszy, że sensowne zarządzanie wątkami to jedno z wąskich gardeł oprogramowania serwerowego? Od argumentum ad personam się powstrzymam.

"połączenie z baządanych przez odbc" - poco? pracodawca sobie zazyczyl? postgre, mysql, sqlite i w dodatku za free.

Poważny serwer i SQLite? Muahahahaha

Jesli na jedno wywolanie do winapi wydajnosc leci na pysk to jak myslisz jak wydajnosc wyglada po 100 czy 1000 takich wywolan ? Aplikacja ktora ingeruje w dana platforme systemowa jasne jest ze wykonuje bezprzerwy skoki do bibliotek systemowych (winapi?).

Słuchaj chłopcze, to co opisałeś to dynamiczne linkowanie metody w runtime, elementy natywne można wprowadzić statycznie korzystając z C++/CLI, bez narzutu. Znasz różnicę pomiędzy importami a ciągłym LoadLibrary, GetProcAddress i FreeLibrary? Taka sama jest pomiędzy wnętrzem runtime'u .NET, wrapperem w C++/CLI a dynamicznym DllImport.

Resztę nich Ci pozostali rozmówcy wytłumaczą, bo mnie już krew zalewa.

Jak ktoś kogoś obraża to Ty naszą inteligencję i doświadczenie. BTW, Zapraszam tutaj - http://4programmers.net/Forum/viewtopic.php?id=150107

0
... napisał(a)

Poważny serwer i SQLite? Muahahahaha

A czy wszyscy musza pisac same serwery na tysiace klientow, nie zauwazyles 2 bazy danych obok?

... napisał(a)

to co opisałeś to dynamiczne linkowanie metody w runtime, elementy natywne można wprowadzić statycznie korzystając z C++/CLI, bez narzutu. Znasz różnicę pomiędzy importami a ciągłym LoadLibrary, GetProcAddress i FreeLibrary?

Znam roznice miedzy zdefiniowanymi importami dll a dynamicznym ladowaniem modulow bibliotek.

Mozna pominac spsob zaladowania biblioteki, <ort>zaluzmy </ort>ze biblteke zaladowal loader systemu zanim przekazal sterownie do procesu i co? Nastepuja te same skoki do bibliotek asemblujacych kod bo to one tlumacza surowy kod NET ktory wcale nie jest odpowiednikiem kodu maszynowego, dopiero tam jest on inteligetnie tlumaczony na dana archiktekture <ort>hardawaru </ort>i wykonywany...

Szkoda o tym sie rozpisywac, tego nie da sie zaprzeczyc przeciez, dam cytat:

At compile time, a .NET compiler converts such code into CIL code. At runtime, the CLR's just-in-time compiler converts the CIL code into code native to the operating system. Alternatively, the CIL code can be compiled to native code in a separate step prior to runtime. This speeds up all later runs of the software as the CIL-to-native compilation is no longer necessary.

0

Ja [CIACH!]. CIL jest kompilowany do x86 raz, co jest porównywane z jednokrotnym załadowaniem biblioteki, kod nie jest ciągle dynamicznie generowany i rekompilowany.

0
... napisał(a)

Ja [CIACH!]. CIL jest kompilowany do x86 raz, co jest porównywane z jednokrotnym załadowaniem biblioteki, kod nie jest ciągle dynamicznie generowany i rekompilowany.

lol ?, czlowieku Ty chyba tego mechamizmu nie widziales na oczy, zapraszam do reversowania kilku programow napisanych w c# NET albo delphi 4 NET.

0

Problem w tym, że widziałem.

0
cyber_pl napisał(a)
... napisał(a)

Ja [CIACH!]. CIL jest kompilowany do x86 raz, co jest porównywane z jednokrotnym załadowaniem biblioteki, kod nie jest ciągle dynamicznie generowany i rekompilowany.

lol ?, czlowieku Ty chyba tego mechamizmu nie widziales na oczy, zapraszam do reversowania kilku programow napisanych w c# NET albo delphi 4 NET.
Błagam, nie manifestuj swojej nieznajomości tematu. Przyrzekłem sobie siedzieć cicho, ale powoli nie wytrzymuję...

0

ehh cyber :S mlody jestes, w dupie byles i gowno widziales :-/
polemika z toba nie ma najmniejszego sensu bo jak widac ciezko kapujacy/edukowalny, zyj w swoim wlasnym idealnym swiecie rozwiazan lekkich i niskopoziomowych do wszystkiego... przynajmniej na rynku konkurencja sie zmniejszy :P

0

Zmniejszy? Przyjdzie taki cyber, spierdoli robotę i ktoś za większą stawkę po nim musi poprawiać/pisać na nowo. W głębi serca jestem takim ludziom wdzięczny, za łatwą kasę.

0

Ponizacie sie tutaj sami, kto napisal ze nie potrafie pisac w innym jezyku? Myslicie ze sie zajmuje tylko jednym jezykiem niskopoziomowym?

Dajcie dowody przeczace temu co pisalem wczesniej tj odnosnie CIL i just in time compilation, assemblacji kodu CIL do kodu maszynowego ale bez lania wody bo w tym to jestescie expertami.

Ktos Tutaj w ogole kiedys sie tym zajmowal czy tylko popieracie swoje srowodiska z doswiadczenia ? lol.

DLaczego myslicie ze nie potrafie napisac prostego systemu inforomatycznego? Znam c/cpp/asm/c#/delphi/winapi/ i wiecej.

0

Dajcie dowody przeczace temu co pisalem wczesniej tj odnosnie CIL i just in time compilation, assemblacji kodu CIL do kodu maszynowego ale bez lania wody bo w tym to jestescie expertami.

...jako i ja dowody daję?

0

eee... ok, dziękuję wam wszystkim za informacje, nie zrozumiałem wszystkiego odnośnie tego .NET i bibliotek, ale analizując Wasze wypowiedzi wygląda na to, że chyba C# z .NETem się trochę lepiej nada. I ... chyba... lepiej korzystać z wolnych (od słowa wolność) bilbiotek i frameworków (czy biblioteka to coś jak framework*?) niż kupować jakieś licencjonowane.

  • mogę otrzymać odpowiedź na to pytanie?
0

@cyber_pl - masz rację z tym .NET i z tym, że jest beznadziejnie niewydajny. Myślałeś może już o tym, żeby pojechać do Redmont i dokonać aktu samospalenia przed siedzibą M$ w proteście przeciwko temu, że coś takiego wymyślili?

Asmox napisał(a)

I ... chyba... lepiej korzystać z wolnych (od słowa wolność) bilbiotek i frameworków

Nie wiem czy lepiej, ale czasami taniej.

czy biblioteka to coś jak framework*?

Najprościej rzecz biorąc - zbiór bibliotek.

1 użytkowników online, w tym zalogowanych: 0, gości: 1