Skocz do zawartości
Macko_da_Gama

Programista front-end, zmiana branży

Pomocna odpowiedź

@Otar, bardzo ciekawa wypowiedź, mnie również zawsze interesowało, czy Arduino (nawet nie samą płytkę, ponieważ wiadomo, że służy prototypom), ale oprogramowanie samo w sobie jest używane w komercyjnych projektach 🙂 Słyszałem również o sterowniku https://www.controllino.biz/ (z góry ostrzegam, że ceny zaporowe), ale oznacza to, że w Arduino jest (a przynajmniej ktoś podjął taką próbę) używane w automatyzacji prostych procesów przemysłowych. Z ciekawości, mógłbyś podać jakieś praktyczne przykłady, gdzie Arduino może zostać wykorzystane "w firmie" (nawet teoretyczne)? Oraz, dlaczego np. firma decyduje się na pisanie "własnej" aplikacji do zarządzania magazynem (właśnie, jaki język?) a nie wykorzystanie dedykowanej? Pozdrawiam 🙂

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

@wn2001 , tak naprawdę możesz użyć arduino do wszystkiego co tylko będzie mieć przełożenie na wynik. W magazynie można użyć do systemu taśm, gdzie towar jest pakowany na stanowisku pakowaczy. Można później etykietę rozpoznawać i kierować paczkę do odpowiedniego miejsca, gdzie np. przesyłki międzynarodowe idą innym transportem.
Wiele tego jest. Wszystko w zależności od tego, co już jest zastosowane. Na produkcji większe pole do popisu. U mnie są maszyny, które wiązkami lasera znakują towar logiem klienta. 
Można zastosować do podajników, wprowadzić czujniki światła, czy zapylenia. 

Jeśli chodzi o programy magazynowe, produkcyjne, czy cały ERP, to są 4 rozwiązania, ale tylko 3 realnie wykorzystywane.
Można kupić licencje do jakiegoś programu WMS. Jednak jest to oprogramowanie ogólne, nie koncentrujące się na konkretnej branży, ale starającej się swoim działaniem objąć jak największą ich ilość. Minusem tego jest to, że nie ma często czegoś co potrzebujemy, albo jest to rozwiązane w sposób nie taki jaki chcielibyśmy. Wtedy pozostaje nam się naginać i dostosowywać, albo przejść do drugiego rozwiązania, czyli własnej modyfikacji takiego oprogramowania. 
Bardzo często producenci oprogramowania dają możliwość swoim klientom na pisanie własnych pluginów, albo przyjmują zlecenie i sami takie piszą pod swój system.
Jest też możliwość pisania programów, czy skryptów poza całym ich programem, przy używaniu is interfejsu API. To daje dużo większą kontrolę nad wszystkim i znacznie ułatwia pracę.

Trzecie rozwiązanie, to napisanie własnego programu np. magazynowego. Jednakże to takie wynajdywanie koła na nowo, chyba, że specyfika branży jest taka, że nie można poprawnie używać dostępnym na rynku programów. Bardzo często jest tak, przy programach produkcyjnych, gdzie produkcja opiera się na "edycji" gotowego wyrobu, np. znakowanie.
Ogromnym minusem jest to, że tworząc takie oprogramowanie samemu, zostajemy "wchłonięci" do obsługi i rozwijania tego programu, pozbawiając się możliwości tworzenia czegoś nowego - braknie na to czasu. Dodatkowo trzeba pamiętać o zmieniających się często przepisach i zmianach w obsłudze programu - bardzo często przy magazynowych.

Ostatnie rozwiązanie bardzo rzadko spotykane, to zlecanie komuś napisanie programu przez inne podmioty. Minus jest taki, że gdy takowa firma przestanie się tym produktem interesować, bo np. upadnie, etc. to zostajemy z często zamkniętym oprogramowaniem. Jeśli jednak otwarte, to musi być pozostawiona dobra dokumentacja i kod napisany naprawdę dobrze. Inaczej jest to bubel, który spowoduje ogromne problemy.

Najczęściej wszystkie te programy pisane są w C#. Te najbardziej rozbudowane, które chcą podbijać branże magazynowe i produkcyjne, to pisane są w C++ ze względu na prostotę w serwisowaniu na linuxowych maszynach.
Teraz, gdy Microsoft się otwiera bardziej, raczej C++ będzie wypierany na rzecz C#.

Są oczywiście jeszcze same webowe serwisy magazynowe, ale raczej słabe rozwinięcie CRMów.

Edytowano przez Otar
  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites
7 godzin temu, Otar napisał:

Najczęściej wszystkie te programy pisane są w C#. Te najbardziej rozbudowane, które chcą podbijać branże magazynowe i produkcyjne, to pisane są w C++ ze względu na prostotę w serwisowaniu na linuxowych maszynach.
Teraz, gdy Microsoft się otwiera bardziej, raczej C++ będzie wypierany na rzecz C#.

Dlaczego C++ a nie po prostu JAVA?

Udostępnij ten post


Link to post
Share on other sites
18 minut temu, Harnas napisał:

Dlaczego C++ a nie po prostu JAVA?

Bo to uzależnienie od jeszcze jednego gracza (Oracle) - zresztą dość niebezpiecznego, bo już pokazał że potrafi zamknąć projekty które mu się nie podobają (czytaj: nie przynoszą bezpośredniego zysku). O ile Orca i Gnome były jeszcze za czasów Suna otwartoźródłowe i dzisiaj mają się zupełnie dobrze, o ile MySQL-em zajęli się sami deweloperzy tworząc otwartoźródłowy fork - o tyle Java nie ma szans.

Zresztą - Java jako taka powoli się kończy. Przeżywała swój boom jako język apletów do przeglądarki, dzisiaj o takim zastosowaniu już nikt nie pamięta. Poza tym trzeba pamiętać, że jest to jednak język interpretowany i wymagania pamięciowe wirtualnej maszyny Javy są nieporównywalnie wyższe niż programu w C++ skompilowanego na docelowy system. O szybkości działania już nie mówię...

A i wieloplatformowość Javy traci również znaczenie. Otwarcie (przynajmniej częściowe) Mono pozwoliło na uruchamianie programów pisanych w C# na różnych platformach. Dzięki temu Java przestała mieć jakiekolwiek plusy w porównaniu do innych języków.

Tak przy okazji: Java a nie JAVA, nie musisz krzyczeć.

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

Dodam tylko do tego co wpisał ethanak, że przy tego typu projektach nie opłaca się pisać w javie z prostego względu, zespół developerów musi potrafić ogarnąć aplikację desktopową - client, serwerową, a także urządzenia typu kolektor. Nie opłaca się mieć odrębnego zespołu pod javę, a samą javą nie ogarnie się wszystkich tematów. Pamiętajmy, że nie każdy sprzęt kolektorowy ma super osiągi, więc C, czy C++ wiedzie tu prym.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
1 godzinę temu, ethanak napisał:

Poza tym trzeba pamiętać, że jest to jednak język interpretowany i wymagania pamięciowe wirtualnej maszyny Javy są nieporównywalnie wyższe niż programu w C++ skompilowanego na docelowy system. O szybkości działania już nie mówię...

Wolny i pamięciożerny program da się napisać w każdym języku.

Udostępnij ten post


Link to post
Share on other sites

Ale nie w każdym się da napisać szybki i nie wymagający zbyt wielu zasobów.

Udostępnij ten post


Link to post
Share on other sites
Dnia 18.04.2020 o 22:32, ethanak napisał:

Ale nie w każdym się da napisać szybki i nie wymagający zbyt wielu zasobów.

To prawda, nie wyobrażam sobie napisania czegokolwiek złożonego w asemblerze czy C tak, aby było szybkie i wydajne. Ale jak ktoś tylko miga diodą, to te języki mogą się wydawać idealne.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
15 minut temu, deshipu napisał:

nie wyobrażam sobie napisania czegokolwiek złożonego w asemblerze czy C tak, aby było szybkie i wydajne

To masz słabą wyobraźnię 😉

Udostępnij ten post


Link to post
Share on other sites

Trzeba jeszcze sobie powiedzieć szczerze, że oprogramowanie napisane jest w C++ jest stabilniejsze i bardziej przewidywalne, niż te które są pisane w Javie. 
Dlatego właśnie w telewizorach, czy samochodach tak bardzo dominuje C lub C++. Tam się koszty sprzętu tnie do absolutnego minimum i nadrabia to dobrym kodem.
Kontrola nad sprzętem musi być maksymalna, tak jak maksymalna będzie przewidywalność działania, a nie, że nagle Java sobie postanowi, że teraz będzie zwalniała pamięć i przyblokuje nam zasoby,

C++ był moim pierwszym poważnym językiem, gdy skończyłem zabawę z Turbo Pascalem 🙂 
Na co dzień nie używam go już od wielu lat, ale już niedługo do niego wrócę, gdy będę pisał moduły do Pythona 🙂

Cały czas chciałem do niego wrócić, ale do żadnego projektu, który realizowałem, nie był mi potrzebny. 

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
22 godziny temu, Otar napisał:

Na co dzień nie używam go już od wielu lat, ale już niedługo do niego wrócę, gdy będę pisał moduły do Pythona 🙂

Masz moje szczere kondolencje.

Udostępnij ten post


Link to post
Share on other sites

@deshipu Z ciekawości: pisujesz moduły do Pythona w Javie czy w czym? Szczególnie takie, które korzystają z bibliotek C?

Ja rozumiem, że prawdziwi twardziele przepisują np. libpq na pure pythona... ale normalni ludzie jeśli mają do dyspozycji bibliotekę, która jest dobrze udokumentowana i dokładnie przetestowana z takowej korzystają.

No, może oprócz Chucka Norrisa...

Udostępnij ten post


Link to post
Share on other sites
1 godzinę temu, ethanak napisał:

Z ciekawości: pisujesz moduły do Pythona w Javie czy w czym?

Używam bibliotek które już są napisane, zoptymalizowane i udokumentowane. Jakoś nie czuję przymusu żeby pisać własnego quicksorta w assemblerze za każdym razem kiedy mam coś posortować. No ale jak sam piszesz, nie jestem Chuckiem Norrisem.

Udostępnij ten post


Link to post
Share on other sites
1 minutę temu, deshipu napisał:

Używam bibliotek które już są napisane, zoptymalizowane i udokumentowane.

Zobacz - to zupełnie jak ja... pozostaje tylko podłączyć taką bibliotekę do Pythona 😉

Co prawda czasem mi się zdarza napisać swoja bibliotekę, ale tak się przecież nie robi, trzeba zaczekać aż ktoś inny to napisze, zoptymalizuje i udokumentuje, prawda?

Udostępnij ten post


Link to post
Share on other sites
19 godzin temu, ethanak napisał:

Co prawda czasem mi się zdarza napisać swoja bibliotekę

A utrzymujesz ją potem? Ile takich bibliotek potrafisz utrzymywać jednocześnie? Jaki procent twojego czasu pracy marnujesz na to? Czy może twoje programy nie wymagają utrzymania bo od razu są idealne?

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...