Po osiągnięciu pewnego poziomu komfortu z Grasshopperem lub Dynamo, możesz zastanawiać się, co będzie kolejnym etapem Twojej edukacyjnej podróży. Programowanie wizualne stanowi fantastyczne wprowadzenie do świata kodowania, głównie ze względu na natychmiastowe wyniki, które oferuje. Szybkie prototypowanie prostego skryptu to dla mojego inżynierskiego umysłu coś na kształt zastrzyku dopaminy. Niemniej jednak, jest jeszcze wiele do odkrycia. Oto dlaczego Python i C# mogą być kolejnymi krokami w Twoich projektach AEC.
Spis treści
Grasshopper/Dynamo a Python i C#
Na pierwszy rzut oka różnica między tymi narzędziami może wydawać się niewielka. Jednak bezpośrednie kodowanie nie dostarcza wyników tak szybko, jak programowanie wizualne. Każda zmiana w bezpośrednim kodowaniu przechodzi przez fazę kompilacji.
Co to jest faza kompilacji?
To proces, w którym napisany kod jest konwertowany na wykonywalne instrukcje. W przeciwnieństwie do tego, programowanie wizualne często pokazuje zmiany natychmiast, bez potrzeby przechodzenia przez ten etap.
Tradycyjne kodowanie wiąże się z bardziej ze stromą krzywą nauki niż przyjazna dla użytkownika natura programowania wizualnego. Koncepcje graficzne są zazwyczaj łatwiejsze do zrozumienia dla architektów i inżynierów niż gęste bloki tekstu. Natychmiastowy feedback z wizualnych części może sprawiać wrażenie, że programowanie jest proste. Bazując na osobistym doświadczeniu, programowanie oparte na tekście wymaga więcej czasu i wysiłku.
Python i C# w programowaniu wizualnym
Każde narzędzie ma swoje ograniczenia, a programowanie wizualne nie jest wyjątkiem. Po pewnym czasie pewne aspekty, takie jak wolne prędkości przetwarzania i zawiłe połączenia, mogą stać się frustrujące. Jednak prawdziwą moc platform takich jak Grasshopper i Dynamo stanowi ich zdolność do tworzenia niestandardowych skryptów poprzez właśnie sktypty tekstowe. Zaczynając od podstaw, możesz zastąpić takie elementy jak podstawowe instrukcje “if” lub zastosować funkcje, które pierwotnie nie są obecne w oprogramowaniu. W miarę postępów to podejście staje się drugą naturą i toruje drogę do zaawansowanych funkcji, takich jak otwarte API czy integracja Chat-GPT z Twoimi wizualnymi skryptami.
Gdzie języki programowania oparte na tekście mają przewagę nad programowaniem wizualnym?
Poniżej przedstawiamy listę, na której wyróżniają się Python i C#:
- Szybkość
Wszyscy cenimy intuicyjność wizualną Grasshoppera i Dynamo. Jedna, gdy projekty stają się coraz bardziej skomplikowane, te narzędzia mogą zaczynać działać wolniej. W takich momentach na ratunek przychodzi programowanie oparte na tekście. Dlatego też C# lub Python mogą być wykorzystane do optymalizacji algorytmów. Może to nie wymagać przebudowy całego skryptu, ale poprzez rozpoczęcie od drobnych modyfikacji i wymianę pewnych komponentów, można zwiększyć wydajność.
2. Przejrzystość
Przejście na języki oparte na tekście eliminuje bałagan związany z plątaniną kabli, oferując przestrzeń roboczą przypominającą schludny pokój. Uproszcza to również współpracę, zwłaszcza gdy dzielimy się skryptami z innymi. Gwarantuje to, że Twój kod pozostanie nietknięty.
3. Dostęp do Open API za pomocą Pythona i C#
Mogłeś spotkać się z terminem “Otwarte API” (Open API), który oznacza Interfejs Programowania Aplikacji.
Na pierwszy rzut oka może wydawać się to technicznym żargonem, ale można go postrzegać jako pomocnego kelnera w Twojej ulubionej restauracji. Mówiąc prosto: tak jak kelner przekazuje Twoje zamówienie do kuchni, tak Open API służy jako łącznik między narzędziami oprogramowania, zapewniając ich płynną komunikację.
Dlaczego używamy terminu “Open”?
Wskazuje on na szeroką dostępność. Podobnie jak kelner obsługujący różnych klientów, Otwarte API służy wielu użytkownikom, choć z różnym stopniem przyjazności dla użytkownika.
A jaki jest preferowany język? W sektorze budowlaneym, C# cieszy się najwiekszą popularnością. Podobnie jak angielski, będący globalnym językiem, C# działa jako wspólny język dla wielu aplikacji oprogramowania, ułatwiając przejrzyste interakcje z Otwartym API. Niemniej jednak, ze względu na prostotę i wszechstronność Pythona, szybko zyskuje on na popularności, a wiele narzędzi oprogramowania jest dostępnych za jego pośrednictwem.
4. Bezpieczeństwo
Programowanie wizualne staje się ograniczone, gdy konkretne wtyczki nie są dostępne. W większych firmach, frywonla instalacja komponentów od nieznanych dostawców jest często ograniczana ze względu na obawy dotyczące cyberbezpieczeństwa, lub może występować okres oczekiwania, aż zostaną one zweryfikowane jako bezpieczne. Stąd, posiadanie komponentów od stron zewnętrznych w formacie zwykłego kodu jest korzystne. Nie tylko zapewnia to bezpieczeństwo, ale także dostarcza elastyczność w dostosowywaniu kodu do konkretnych potrzeb bez wysiłku.
5. Bardziej odpowiednie dla większych projektów
Z moich obserwacji wynika, że tylko niewielka różnica występuje, gdy chodzi o drobne zadania. Jednak wydajność znacząco maleje, gdy liczba komponentów rośnie z dziesiątek do setek. Obsługa dziesiątek obiektów zwykle obejmuje prostsze zadania automatyzacji, takie jak oznaczanie, zarządzanie parametrami czy inne drobne działania. Wyzwania pojawiają się, gdy mierzymy się ze wzrastającą złożonością i powtarzalnymi problemami automatyzacji, specyficznymi dla zadań inżynieryjnych.
Podsumowanie
Chociaż idea programowania wizualnego jest idealna na wejście w świat programowania, często okazuje się niewystarczające dla codziennych trudności, zwłaszcza w wymagającym świecie projektowania i inżynierii.
Niezbędny jest wszechstronny zestaw umiejętności, obejmujący zarówno programowanie wizualne, jak i oparte na tekście.
Dla jednorazowych, unikalnych zadań w ramach małego zespołu lub projektu, programowanie wizualne, takie jak Grasshopper i Dynamo, wyróżnia się ze względu na szybkość, przyjazność dla użytkownika i łatwość wdrożenia. Jednakże, dla większych, powtarzających się zadań, obejmujących wiele projektów i zespołów, integracja tradycyjnych umiejętności programowania staje się kluczowa.
Decyzja leży po Twojej stronie i często zależy od trzech głównych czynników: Wydajności, Skalowalności i Elastyczności.
Uznaj ten artykuł za oficjalne zaproszenie na najważniejsze wydarzenie roku! Temat? Bitwa języków: C# kontra Python w sektorze budowlanym.
Dołącz do nas oraz naszych ekspertów – Marcina i Sverre, którzy przyjrzą się plusom i minusom obu tych języków, dostarczając Ci użytecznych wskazówek, które pomogą Ci dokonać odpowiedniego wyboru.
W trakcie warsztatów omówimy, co każdy z języków robi dobrze i co je różni, zwłaszcza w kontekście pracy w sektorze AEC oraz jakie są ich mocne i słabe strony, m.in. pod względem szybkości, łatwości użycia oraz współpracy z innymi narzędziami, z którymi być może już pracujesz.
Biorąc udział w warsztatach, uzyskasz:
- Przyjazne, łatwe do zrozumienia porównanie C# i Pythona, skoncentrowane na ich plusach i minusach w branży AEC.
- Przykłady z życia wzięte, które pokazują, gdzie każdy z języków naprawdę się sprawdza.
- Wskazówki, jak C# i Python współpracują z popularnymi narzędziami używanymi w branży AEC.
Zarejestrowani użytkownicy otrzymają dostęp do specjalnych dokumentów: mapy myśli, która wylicza dobre i złe strony każdego z języków, arkusza podsumowującego, który pomoże Ci podjąć mądry wybór oraz nagrania z warsztatów.
Zarejestruj się już teraz!
Zapoznaj się z moimi ostatnimi artykułami:
If you want to get more information about Grasshopper and learn parametric modelling, download the free guide – FREE DOWNLOAD
Grasshopper is a plugin to Rhino that you can download HERE.