eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingjaki wybrac jezyk?
Ilość wypowiedzi w tym wątku: 130

  • 1. Data: 2011-08-13 19:09:15
    Temat: jaki wybrac jezyk?
    Od: "Marszalkowski" <m...@t...pl>

    Hey

    Mam kilka dużych projektów napisanych w C/C++.
    Projekty są duże i zoptymalizowane na szybkość
    działania. Jednym słowem bagno i być może bagno z
    błędami.

    Myślę sobie aby przepisać te projekty w innym
    języku. Teoretycznie powinienem dostać dla takich
    samych danych wejściowych takie same dane wyjściowe.
    Chcę zrobić rodzaj walidacji krzyżowej.

    Moje pytanie brzmi: jaki język byście polecili do
    takiego zadania i jakie narzędzia? Czy jakiś język
    mógłby się okazać bardziej przydatny od innych?

    Jeśli chodzi o rodzaj aplikacji, to oczywiście są
    bez GUI, mają jedynie proste tekstowe wejście/wyjście.
    Nie chcę testować interfejsów, ale część obliczeniową.

    Pozdrawiam

    --
    Wysłano z serwisu OnetNiusy: http://niusy.onet.pl


  • 2. Data: 2011-08-13 19:26:28
    Temat: Re: jaki wybrac jezyk?
    Od: "slawek" <s...@h...pl>


    Użytkownik "Marszalkowski" <m...@t...pl> napisał w wiadomości grup
    dyskusyjnych:5...@n...onet.pl
    ...
    > Mam kilka dużych projektów napisanych w C/C++.
    >[...]
    > Myślę sobie aby przepisać te projekty w innym
    > języku. Teoretycznie powinienem dostać dla takich
    > samych danych wejściowych takie same dane wyjściowe.

    Proponowałbym Prolog. Dlaczego? Jest zupełnie inny niż C/C++ .

    Ale... ale pewnie wymagane są cechy, jakich Prolog nie ma.

    Widzę tylko jedno rozwiązanie - zrobić tak, jak zrobiła firma Phoenix z
    BIOS-em - siadasz i mówisz drugiemu programiście, co ma być zrobione, ale
    nie pokazujesz ani kawałka kodu źródłowego. Ten drugi robi w czym chce -
    jeżeli lubi C++ to C++, a jeżeli np. Javę itd.

    Im ogólniej powiesz, tym mniejsza szansa że go zahipnotyzujesz i
    przetransferujesz także np. błędne założenia u podstaw.



  • 3. Data: 2011-08-13 19:40:22
    Temat: Re: jaki wybrac jezyk?
    Od: m...@t...pl


    > Proponowałbym Prolog. Dlaczego? Jest zupełnie inny niż C/C++ .
    A Python? Słynie z tego ze się w nim popełnia mało błędów.
    Prologa nie znam (pythona zresztą też nie), czy prolog nadaje
    się w ogóle do rzeczy typu: sortowanie tablicy, mnożenia macierzy?
    Pozdrawiam




    --
    Wysłano z serwisu OnetNiusy: http://niusy.onet.pl


  • 4. Data: 2011-08-13 19:46:55
    Temat: Re: jaki wybrac jezyk?
    Od: Maciej Sobczak <s...@g...com>

    On Aug 13, 9:09 pm, "Marszalkowski" <m...@t...pl> wrote:

    > Moje pytanie brzmi: jaki język byście polecili do
    > takiego zadania

    Ale jakiego zadania? Przecież nic nie opisałeś - wiadomo tylko, że dla
    danych wejściowych program ma wyprodukować wartości wyjściowe. I że
    jest text I/O.
    Wszystkie języki się do tego nadają.

    Natomiast od tego, co *konkretnie* ten program ma robić, będzie
    zależało, który język się do tego lepiej nadaje.

    Kilka pytań pomocniczych: czy to jest przetwarzanie typu batch czy
    ciągły on-the-fly (inaczej: czy program się kończy?) czy może real-
    time, czy to jest przetwarzanie tekstu, obliczenia przybliżone czy
    księgowość, czy nadal ma to być zoptymalizowane na szybkość, czy
    problem daje się zrównoleglać, czy dana dziedzina ma już gotowe
    biblioteki, ...

    Ale są też pytania "menadżerskie":

    Jeżeli problem jest ogólny, to pewnie przyda się jakiś ogólny język. A
    skoro wcześniej wykorzystano C++ i działało, to się pewnie nadawał.
    Dlaczego wtedy wybrano C++? Były na to jakieś konkretne powody? Czy te
    powody są nadal aktualne, czy może wręcz przeciwnie?
    Dlaczego w obecnym projekcie jest bagno? Co można było zrobić, żeby
    nie było bagna? Czy ponowny wybór C++ na pewno ponownie doprowadzi do
    tego samego bagna, czy wybór innego języka na pewno pozwoli tego bagna
    uniknąć? Skąd wiadomo, że jedno bagno nie zostanie zastąpione innym?
    Itd.

    Czyli nic nie wiemy i taka też jest odpowiedź. :-)

    --
    Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com


  • 5. Data: 2011-08-13 19:56:50
    Temat: Re: jaki wybrac jezyk?
    Od: A.L. <l...@a...com>

    On Sat, 13 Aug 2011 21:09:15 +0200, "Marszalkowski" <m...@t...pl>
    wrote:

    >Hey
    >
    >Mam kilka dużych projektów napisanych w C/C++.
    >Projekty są duże i zoptymalizowane na szybkość
    >działania. Jednym słowem bagno i być może bagno z
    >błędami.
    >
    >Myślę sobie aby przepisać te projekty w innym
    >języku. Teoretycznie powinienem dostać dla takich
    >samych danych wejściowych takie same dane wyjściowe.
    >Chcę zrobić rodzaj walidacji krzyżowej.
    >
    >Moje pytanie brzmi: jaki język byście polecili do
    >takiego zadania

    Jakiego zadania?... I czemu C++ jest niedobry?...

    Jest taka ksaizka od tytulem "In Search of Stupidity". O prawdziwych
    projektach programistycznych ktorych realizacja spowodowala ze firmy
    padly. Jedna z przycyn padniecia jest "pzrepisywanie na inny jezyk".

    Stara maksyma mowi: "Don't fix it if it is not broken". Jak sa bledy w
    C++, to sa to bledy spowodowane pzrez programiste/projektanta a nie
    jezyk.

    legenda o tym ze w Pythonie sie pisze bez bledow to jest totalny
    nonsens. Robi sie takei same bledy jak wszedzie indziej.

    No i jak Kolega ma takie procedury gedzie nawias zamykajacy jest 1000
    linii pozniej niz otwierajacy, to zaden jezyk nie pomoze. Moze trzeba
    sie nauczyc tego i owego?...

    A.L.


  • 6. Data: 2011-08-13 20:07:47
    Temat: Re: jaki wybrac jezyk?
    Od: Szyk <s...@o...pl>

    Po pierwsze: moim zdaniem nie ma obecnie jezyka ktory byl by bliski
    idealowi.

    Po drugie: biorac pod uwage ze sa to programy CLI ja bym sprubowal
    przynajmniej jeden z tyh programow napisac w D Digital Mars. To powinno
    dac odpowiedz na pyt.: Czy do takih spraw sie on nadaje? Bo wg mnie D w
    CLI powinien pokazac lwi pazur. Bo teraz glownym ograniczeniem D jest
    rak pozadnej, natywnej biblioteki GUI, brak aktualnej wersji GNU i brak
    wieloplatformowosci.


  • 7. Data: 2011-08-13 20:09:32
    Temat: Re: jaki wybrac jezyk?
    Od: "R. P." <r...@w...to.wp.pl>

    A.L. wrote:
    > No i jak Kolega ma takie procedury gedzie nawias zamykajacy jest 1000
    > linii pozniej niz otwierajacy, to zaden jezyk nie pomoze. Moze trzeba
    > sie nauczyc tego i owego?...

    Czlowieku, a skad wiesz, ze to on pisal ten projekt, ze jemu kazesz sie
    uczyc, co??


  • 8. Data: 2011-08-13 20:15:25
    Temat: Re: jaki wybrac jezyk?
    Od: Sebastian Biały <h...@p...onet.pl>

    On 2011-08-13 21:09, Marszalkowski wrote:
    > Projekty są duże i zoptymalizowane na szybkość
    > działania. Jednym słowem bagno i być może bagno z
    > błędami.

    Obawiam się że łatwiej będzie je poprawiać wspomagając się testami
    regresyjnymi niż przepisywać. Zacznij nie od wyboru języka ale od
    stworzenia środowiska zapewniającego kontrolę jakości podczas dalszych
    kroków.


  • 9. Data: 2011-08-13 20:52:13
    Temat: Re: jaki wybrac jezyk?
    Od: Edek <e...@g...com>

    On 08/13/2011 09:40 PM, m...@t...pl wrote:
    >
    >> Proponowałbym Prolog. Dlaczego? Jest zupełnie inny niż C/C++ .
    > A Python? Słynie z tego ze się w nim popełnia mało błędów.
    > Prologa nie znam (pythona zresztą też nie), czy prolog nadaje
    > się w ogóle do rzeczy typu: sortowanie tablicy, mnożenia macierzy?
    > Pozdrawiam
    >

    Słyszałem, że programiści z Tajlandii takie rzeczy potrafią. Nie
    byłem w Tajlandii, w Ugandzie zresztą też nie. Ale ciekawi mnie
    bardzo, wypowiedzcie się, czy sortowanie macierzy jest specjalnością
    Ugandy ;) Z całym szacunkiem dla Ugandy i Tajlandii rzecz jasna :)

    Edek



  • 10. Data: 2011-08-13 20:56:12
    Temat: Re: jaki wybrac jezyk?
    Od: m...@t...pl

    > On Aug 13, 9:09 pm, "Marszalkowski" <m...@t...pl> wrote:

    > Ale jakiego zadania? Przecież nic nie opisałeś - wiadomo tylko, że dla
    > danych wejściowych program ma wyprodukować wartości wyjściowe. I że
    > jest text I/O.
    > Wszystkie języki się do tego nadają.
    Nie znam takich języków jak Prolog, Lisp, Python, Perl. Zastanawiam
    się czy warto któregoś się pouczyć. Czy można tak ogólnie o którymś
    z nich powiedzieć, że zapis typowych algorytmów niesie mniejsze ryzyko
    pomyłki?

    Kiedyś Java była reklamowana w ten sposób, że pisząc w Javie
    popełnia się mniej błędów, że Java ma np. kontrolę zakresów
    tablic, itd. Czy obecnie jakieś języki uznaje się za jeszcze
    bardziej pomocne w pisaniu bezbłędnego kodu?

    Często słyszę opinię że Python mocno chroni programistę przed
    popełnianiem błędów. Mówi się że programy w Pythonie mają
    najmniej linii kodu i że Python to jest język w którym się
    myśli a nie koduje. W jakim stopniu to jest prawda? Jakie
    Python ma odpowiedniki javowej kontroli zakresów tablic?

    > Natomiast od tego, co *konkretnie* ten program ma robić, będzie
    > zależało, który język się do tego lepiej nadaje.
    Trochę algorytmów kombinatorycznych, trochę zmiennoprzecinkowych.
    Trochę przeszukiwania grafów, trochę symulacji monte carlo, trochę
    sortowania, trochę wyszukiwania k-tej statystyki, rozwiązywanie
    układów równań... Problem w tym że w jednym programie jest tego
    bardzo dużo i na dodatek zostało zoptymalizowane. Pełno jakiś
    sztuczek z ujemnymi indeksami w tablicach, celowe przekraczanie
    zakresów struktur, itd. Błędów obawiam się wszędzie. Myślę sobie,
    żeby to samo napisać od nowa, ale użyć bezpieczniejszego algorytmu i
    bezpieczniejszego języka programowania.

    > Kilka pytań pomocniczych: czy to jest przetwarzanie typu batch
    > czy to jest przetwarzanie tekstu,
    > czy nadal ma to być zoptymalizowane na szybkość,
    Może być batch, mogę zrzucić dane do pliku tekstowego i może
    być przetwarzanie po jednym wierszu. Może działać bardzo wolno.
    Nie musi mieć wątków. Przetwarzania tekstowego nie ma w ogóle,
    poza... wczytaniem wiersza danych :)

    > Jeżeli problem jest ogólny, to pewnie przyda się jakiś ogólny język.
    Raczej tak, raczej język ogólny. Intryguje mnie Python.

    > A skoro wcześniej wykorzystano C++ i działało, to się pewnie nadawał.
    Oryginał nadal ma pozostać w C++, padła idea, aby napisać coś co np.
    na wyrywki zrzuci dane do pliku tekstowego i sprawdzi bezpieczniejszą
    wersją algorytmu. Oryginalna wersja działa i wydaje się że działa
    bardzo dobrze, ale... chciałbym się jeszcze bardziej upewnić.

    Pozdrawiam



    --
    Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

strony : [ 1 ] . 2 ... 10 ... 13


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: