Jeśli ChatGPT tworzy kod dla Twojej aplikacji wygenerowany przez sztuczną inteligencję, do kogo tak naprawdę należy?
ChatGPT jest dobrze znany ze swoich możliwości kodowania, ale jak sobie poradzi, gdy w jednej sesji zostanie rzuconych na niego kilkanaście języków? Odpowiedź: całkiem nieźle.
W ciągu ostatniego roku wszyscy dowiedzieliśmy się, że ChatGPT może pisać kod. Poddałem go szeregowi testów w PHP i WordPressie, które pokazały mocne i słabe strony możliwości kodowania ChatGPT.
Ale jak daleko sięga wiedza o kodowaniu ChatGPT? Kiedy pierwotnie pisałem ten artykuł na początku 2023 r., rzuciłem klasyczne zadanie programistyczne „Hello, world” na 12 najpopularniejszych języków w rankingach popularności O'Reilly Media na rok 2023.
Następnie przeprowadziliśmy wiele analiz dotyczących popularności języków programowania, ale nawet w przypadku tej aktualizacji z końca 2024 r. trzymam się oryginalnych 12 testowanych przez nas języków. Chociaż niektóre z naszych 12 języków nie są zbyt popularnymi językami, są one nadal aktualne i używane. Ten wybór daje nam bardzo dobry przekrój, który pomaga nam lepiej zrozumieć, jak dobrze ChatGPT obsługuje szeroką gamę języków.
Ponieważ „Hello, world” często można zakodować w jednym wierszu, dodałem lekką zmarszczkę, ponieważ ChatGPT wyświetlał „Hello, world” dziesięć razy, za każdym razem zwiększając wartość licznika. Poprosiłem go także o sprawdzenie godziny i rozpoczęcie każdej sekwencji słowami „Dzień dobry”, „Dzień dobry” lub „Dobry wieczór”.
Daje nam to wgląd w przebieg programu i niektóre wewnętrzne funkcje, ale nadal utrzymuje kod na tyle mały, że mogę zamieścić w tym artykule kilkanaście zrzutów ekranu.
Oto zachęta:
Napisz program w ____, który wypisuje „Dzień dobry”, „Dzień dobry” lub „Dobry wieczór” w zależności od tego, która jest godzina tutaj, w Oregonie, a następnie wyświetla dziesięć wierszy zawierających indeks pętli (zaczynający się od 1), spację, a następnie słowa „Witaj, świecie!”.
Dla każdego języka programowania poprosiłem również ChatGPT o opisanie jego podstawowego zastosowania. Oto zachęta, której użyłem w tym zapytaniu:
Dla każdego z poniższych języków napisz jednozdaniowy opis jego podstawowego zastosowania i czynnika różnicującego: Java, Python, Rust, Go, C++, JavaScript, C#, C, TypeScript, R, Kotlin, Scala.
Przyjrzyjmy się teraz każdemu językowi.
1. Jawa
ChatGPT opisuje Javę jako „język ogólnego przeznaczenia używany głównie do tworzenia aplikacji komputerowych, internetowych i mobilnych, znany z filozofii„ napisz raz, uruchom gdziekolwiek ””.
Język Java został pierwotnie opracowany przez firmę Sun Microsystems, ale kiedy firma Oracle kupiła firmę Sun, kupiła także Javę. Chociaż specyfikacja Java jest otwarta, właścicielem języka jest Oracle. Doprowadziło to na przestrzeni lat do spektakularnych legalnych fajerwerków.
Oto kod ChatGPT:
2. Pyton
ChatGPT opisuje Pythona jako „język ogólnego przeznaczenia używany do analizy danych, sztucznej inteligencji, tworzenia stron internetowych i automatyzacji, znany ze swojej czytelności i łatwości użycia”.
Moja rada: jeśli planujesz nauczyć się kodować aplikacje AI, naucz się Pythona. Prawie cały kod AI ma ścisłą integrację z Pythonem.
Oto kod ChatGPT:
3. Rdza
ChatGPT opisuje Rusta jako „język programowania systemów używany do tworzenia wydajnego i niezawodnego oprogramowania, znany z gwarancji bezpieczeństwa pamięci i wątków”.
Oto kod ChatGPT:
4. Idź
ChatGPT opisuje Go jako „język programowania systemów używany do tworzenia skalowalnych i wydajnych aplikacji sieciowych i serwerowych, znany ze swojej prostoty i wbudowanych funkcji współbieżności”.
Go jest oprogramowaniem typu open source, ale zarządza nim Google. Iść. Google. Dostać za swoje?
Oto kod ChatGPT:
5.C++
ChatGPT opisuje C++ jako „język programowania systemów używany do tworzenia systemów operacyjnych, silników gier i aplikacji o wysokiej wydajności, znany ze swojej kontroli nad sprzętem i pamięcią”.
Oto kod ChatGPT:
6. JavaScript
ChatGPT opisuje JavaScript jako „język skryptowy po stronie klienta używany do tworzenia interaktywnych aplikacji internetowych, znany z szerokiego zastosowania w tworzeniu stron internetowych i możliwości działania w przeglądarkach internetowych”.
Oprócz CSS (jednego z głównych języków projektowania wizualnego w Internecie) JavaScript jest odpowiedzialny za 87,45% wulgaryzmów, które wypowiedziałem w ciągu ostatnich dziewięciu lat.
Oto kod ChatGPT:
7. C#
ChatGPT opisuje C# jako „język ogólnego przeznaczenia używany do tworzenia aplikacji komputerowych, gier i aplikacji internetowych dla systemu Windows, znany ze swoich funkcji obiektowych i integracji ze strukturą .NET”.
C# jest zastrzeżonym językiem oferowanym przez firmę Microsoft. Uczyłem tego na Uniwersytecie Kalifornijskim w Berkeley przez ponad dekadę. Jest to bardzo interesujący język bramy dla każdego, kto chce programować do pracy głównie w środowiskach Microsoft.
Oto kod ChatGPT:
8. C
ChatGPT opisuje C jako „język programowania systemów używany do tworzenia systemów operacyjnych, systemów wbudowanych i aplikacji o wysokiej wydajności, znany ze swojej wydajności i kontroli na niskim poziomie”.
Mówią, że nigdy nie zapomina się swojej pierwszej miłości. Zanim nauczyłem się programować w C w czasach drewnianych statków i żelaznych programistów, nigdy tak naprawdę nie kochałem języka programowania. Ale potem zacząłem używać C i mój świat się zmienił. To była miłość. Coś w zwięzłej prostocie języka po prostu przemówiło do mnie na głębokim i pierwotnym poziomie. To prawdopodobnie przesadne udostępnianie, ale to także prawda. C zawsze będzie moją pierwszą miłością syntaktyczną.
Oto kod ChatGPT:
9. Maszynopis
ChatGPT opisuje TypeScript jako „nadzbiór języka JavaScript używany do tworzenia aplikacji internetowych na dużą skalę, znany z opcjonalnego pisania statycznego i zaawansowanych funkcji językowych”.
TypeScript jest również produktem firmy Microsoft, ale w przeciwieństwie do C# jest oprogramowaniem typu open source i niezastrzeżonym.
Oto kod ChatGPT:
10.R
ChatGPT opisuje R jako „język używany do obliczeń statystycznych i analizy danych, znany z potężnych możliwości manipulacji danymi i wizualizacji”.
Oto kod ChatGPT:
11. Kotlina
ChatGPT opisuje Kotlina jako „język ogólnego przeznaczenia używany do tworzenia aplikacji na Androida, aplikacji po stronie serwera i aplikacji internetowych, znany ze swojej zwięzłości i interoperacyjności z Javą”.
Kotlin został opracowany przez JetBrains, małą firmę, która tworzy także PhpStorm, moje obecnie ulubione środowisko programistyczne.
Oto kod ChatGPT:
12. Scala
ChatGPT opisuje Scalę jako „język używany do tworzenia skalowalnych i rozproszonych aplikacji, znany ze wsparcia programowania funkcjonalnego i integracji z wirtualną maszyną Java”.
Oto kod ChatGPT:
Zwróć także uwagę na wyjście dla Scali (pokazane powyżej). Nigdy nie programowałem w Scali i nie za bardzo się na tym znam. Ani ChatGPT, ponieważ chociaż sztuczna inteligencja zapewniła kolorowanie składni dla wszystkich innych języków, wydawało się, że nie ma tych informacji w przypadku Scali.
Ostatnie przemyślenia (i trochę dalej)
Jako maniak języków komputerowych, uznałem to ćwiczenie za świetną zabawę. To powiedziawszy, jest kilka rzeczy, o których należy pamiętać. Po pierwsze, nie przetestowałem całego kodu. Testowanie tak wielu wyników wykracza poza zakres tego artykułu. To powiedziawszy, przeczytałem wygenerowany kod i w przypadku większości języków kod wyglądał dobrze.
Kiedy ostatni raz przeprowadzałem te testy prawie rok temu, ChatGPT prawie wszystko poszło dobrze (pomimo powyższego zastrzeżenia). Jednakże poproszony o wyrenderowanie kodu w Forth (bardzo fajny, ale zabawny język) wygenerował kod, który wyglądał jak Forth, ale miał etykietę okna „Perl”. Zdecydowanie nie wygenerował Perla.
Jednak tym razem wygenerował Forth (dwukropki są martwym prezentem) i odpowiednio go opisał. Podobnie jak Scala powyżej, ChatGPT nie miał tabel kolorowania składni dla Forth, ale poza tym wydaje się, że radzi sobie dobrze.
Podobnie jak w przypadku wszystkich moich innych wizyt w króliczej norze z ChatGPT i kodowaniem, jestem pod wrażeniem, ale także ostrożny. Moje zalecenia są takie: używaj go jako narzędzia, ale testuj, testuj i jeszcze raz testuj.













