Twórcy języków programowania dyskutują o nowych rozwiązaniach

27.07.2010 14:54, Autor: Michał Majchrzycki (mmaj), Kategoria: News
NewsImage

Twórcy języków programowania spotkali się w Portland, by dyskutować o przyszłości i nowych rozwiązaniach.

Na konferencji Emerging Languages Camp w ramach OSCON 2010 zaprezentowano prawie dwa tuziny nowych języków. Niektóre z nich zaprojektowane są do tworzenia aplikacji webowych, inne do obsługi urządzeń mobilnych. Większość z ich twórców to hobbyści i naukowcy, którzy liczą na wywarcie wpływu na przyszłe technologie. Pojawili się jednak pracownicy takich firm jak Google czy Microsoft, którzy zdradzili szczegóły na temat własnych koncepcji. Jak czytamy w Technology Review, Rob Pike z Google przedstawił informacje o języku Go, który ma być alternatywą dla C++. Z kolei Matt MacLaurin z Microsoft FUSE Labs mówił o Kodu. Za jego pomocą firma z Redmond chce trafić do młodych programistów.

Goście konferencji zgodnie twierdzili, że przyszłe języki programowania będą coraz bardziej skomplikowane, a także bardziej specjalistyczne. Nie oznacza to jednak, że wyprą one starsze rozwiązania - raczej będą istnieć obok tych już zadomowionych. Z kolei zdaniem Alexa Payne’a z Twittera programistów czeka prawdziwa wieża Babel, jeśli chodzi o ilość nowych języków programowania. Ale w sumie nie myślę, że to będzie aż takie złe - podsumował.

r   e   k   l   a   m   a

Komentarze (50)  

Avatar
Jazykk (niezalogowany) | 27.07.2010 14:59#1

Dlaczego językiem programowania nie może być polski? Zawsze angielski, który jest toporny i często mówi się ogólnikami a w polskim mamy mnóstwo określeń i zdrobnień!

AvatarUżytkownik jest nieaktywny
Maciej_S | 27.07.2010 15:15#2

Moja pierwsza i zarazem ostatnia styczność z językiem programowania miała miejsce na studiach. Był to Turbo Pascal 4.0 a potem 5.0 :-)

AvatarUżytkownik jest nieaktywny
Dimatheus | 27.07.2010 15:19#3

Hej,

@ Jazykk - Bo byłby problem z polskimi znakami diakrytycznymi. :P A swoją stroną - im większa konkurencja, tym lepiej; każdy w końcu znajdzie coś dla siebie. :)

Pozdrawiam,
Dimatheus

AvatarUżytkownik jest nieaktywny
Roman0 | 27.07.2010 15:26#4

@Jazykk (niezalogowany) | 27.07.2010 14:59
"często mówi się ogólnikami"
Jeżeli o to chodzi, to i polski nie jest w tym najlepszy. Radziłbym się zapoznać z sztucznym językiem Lojban (na wikipedii) który ma podobno zaradzić podobnym problemom.

AvatarUżytkownik jest nieaktywny
Druedain | 27.07.2010 15:28#5

@Jazykk zawsze pozostaje Ci LOGO gdzie ukrywasz i posuwasz żółwia :P Ewentualnie dodać sobie bibliotekę do Pascala, która posiada odpowiedniki całej zawartości standardu ale po PL ;)

Ja sam nie narzekam, bo tak jak kiedyś była łacina, tak dziś mamy angielski (a swoją drogą ciekaw jestem jakby wyglądało programowanie po łacinie :P "infernum_ocularum << "Carpe Diem";"

Avatar
Entwickler (niezalogowany) | 27.07.2010 15:32#6

Faktycznie coraz wiekszy bajzel w jezykach programowania. Przestaje to wszystko byc zabawne i zaczyna sie sprowadzac do budowania domkow z klockow. Z drugiej zas strony zobaczcie co sie stalo z C# na przestrzeni lat... jezyk jest latwy, szybki i przyjemny dopoki np. Resharper nie przerobi bardziej zlozonej petli foreach na wyrazenie Linq. Pozdro dla starej gwardii klepa3 w C/C++ i wielbicieli wskaznika na wskaznik na wskaznik :)

AvatarUżytkownik jest nieaktywny
T72 | 27.07.2010 15:45#7

@Entwickler (niezalogowany) co Ty masz do LINQ ;)? Dla mnie jest genialne. Piszę sobie jakąś logikę biznesową i potrzeba mi wyłuskać jakieś dane, np tablice pojedynczych zmiennych z listy klas. 30 sekund i mam gotowe. W jednej linijce. Jak znasz LINQ to takie zapytanie jest bardzo czytelne.

A co do powstawania nowych języków - i tak większość pozostanie niszowa. Nie ma co za bardzo sobie głowy zawracać raczej.

AvatarUżytkownik jest nieaktywny
Zulowski | 27.07.2010 16:13#8

do wyboru do koloru, mnie osobiście to nie będzie przeszkadzać ;)

AvatarUżytkownik jest nieaktywny
Gas | 27.07.2010 18:42#9

Entwickler (niezalogowany) | 27.07.2010 15:32

C# przyjemny, kiedy i gdzie?

// hello.cs
public class Hello1
{
public static void Main()
{
System.Console.WriteLine("Hello, World!");
}
}

// hello.java
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello, World");
}
}

// hello.c
void main(void)
{
printf("Hello, World!");
}


I gdzie jest mniej klikania/gimnastyki?

AvatarUżytkownik jest nieaktywny
Spawnm | 27.07.2010 18:48#10

W php ;]

echo 'Hello, World';

AvatarUżytkownik jest nieaktywny
Gas | 27.07.2010 18:53#11

//hello.py (python)
print "Hello, World!"

(bez ' ; ' ) ;D

Nie dziwie sie czemu ludzie zaczynaja uciekac do Pythona. :D

Btw. Nie wiem czy to tam napisane, ale tworcy Go pisza , ze to na razie eksperyment i nie ma sie co ekscytowac.

AvatarUżytkownik jest nieaktywny
T72 | 27.07.2010 19:11#12

@Gas ale masz pojęcie o programowaniu :P
Porównujesz klasę z funkcją w C# do funkcji w C++ i to do tego tak elementarne.
To patrz np na taki kod (może być błędny bo w C++ już dawno nie programuję). Mamy listę obiektów klas i chcemy wyłuskać powiedzmy wszystkie nazwiska.

C++:
List naziwska;
for(int i = 0; ix.nazwisko);

I co? Demagogia czysta z Twojej strony Gas.... Wszystko zależy od przykładu.
Btw. Troche offtopowa ta dyskusja.

AvatarUżytkownik jest nieaktywny
Gas | 27.07.2010 19:15#13

T72 | 27.07.2010 19:11
Kod jest bledny i C++ nie ma tu nic do tego.

AvatarUżytkownik jest nieaktywny
T72 | 27.07.2010 19:16#14

Ups.... no i wcięło mi kod bo znaczników nikt nie raczył przepuścić przez encoder :/

Zamieszczam kod tu:
http://wklejtekst.pl/xh

Avatar
antySpece (niezalogowany) | 27.07.2010 19:24#15

Tak porównywać języki skryptowe i kompilowane potrafią tylko specjaliści czytający dobreprogramy.

AvatarUżytkownik jest nieaktywny
Gas | 27.07.2010 19:25#16

Chcialem zwrocic uwage na ilosc smiecia potrzebna do wpisania w danym jezyku do osiagniecia celu.

Kiedys z ciekawosci porownywalem C# i Qt na projektach z Sourceforge.
Kod programu w C# obslugujacy terminal (konsole) w windows , ktory tylko pozwalal na wpis polecenia i wyswietlal rezultat zajmowal ponad 30KB. Kod podobnego projektu pisany w Qt i juz majacy w sobie obsluge historii, edycje polecen, kolorowanie skladni i duzo komentarzy (w tym z c# bylo ich prawie 0) zajmowal niecale 8KB !.

O tym byla mowa na tej konferencji. Mniej smiecia = przejrzysty kod w krotszym czasie i latwiejszy do poprawy.

AvatarUżytkownik jest nieaktywny
Gas | 27.07.2010 19:31#17

antySpece (niezalogowany) | 27.07.2010 19:24

A co kogo interesuje czy kod jest kompilowany czy interpretowany? Klienta interesuje? Watpie.

Avatar
apocalyPS3 [not login] (niezalogowany) | 27.07.2010 19:33#18

**** ale bajzel sie robi

AvatarUżytkownik jest nieaktywny
Gas | 27.07.2010 19:35#19

T72 | 27.07.2010 19:16
Oj chyba w srednioweczu siedzimy. Tak?

// Qt: 4.6

QStringList list1,list2;

//jakies /operacje na list2

list1=list2;
//

I co?

AvatarUżytkownik jest nieaktywny
T72 | 27.07.2010 19:37#20

@Gas a czy ta konferencja była obiektywna? Śmiem wątpić. Języki da się zawsze tak porównać, aby ten drugi był lepszy czy gorszy. Już na tym przykładzie widać. W C++ napisali super optymalny kod a w C# aby było i im wyszło.... Z moich własnych obserwacji np wynika, że programy w C++ są olbrzymie. Prosty programik z oknem napisany w BCB zajmował koło pół mega jak nie więcej bo dodawał swoje biblioteki z VCL. Qt też jest duże. Założe się, że nie było wkompilowane w exe a z tego wynika, że użytkownik musiał by mieć je na dysku (tak jak maszyne wirtualną .NET). Pole do popisu nad "wynikami obiektywnych porównań" jest wielkie. Serio. Nie wiem czy jesteś programistą. Ja programowałem w C++ 8 lat a w C# już jakieś 3-4. Widziałem tyle "testów" że oba języki są lepsze od siebie... :].

A co do "masy śmiecia" to nie wynika to z ułomności C# tylko nowoczesności. C++ nie jest w pełni obiektowy a C# tak. A to, ile "śmiecia" trzeba napisać pokazałem na przykładzie powyżej :P. Oczywiście ten przykład jest równie obiektywny jak tamta konferencja (btw. mogłeś napisać jaka konferencja ;) ).

Wiesz czemu C# jest wykorzystywany do pisania aplikacji biznesowych? Właśnie z uwagi na szybkość pisania i łatwość utrzymania kodu. C++ jest używany gdy trzeba przenośności i bardzo dobrej wydajności. A to się sprzecza z tym co napisałeś wyżej. Dowodzi to tylko stronniczości wykładu na jakim byłeś.

AvatarUżytkownik jest nieaktywny
T72 | 27.07.2010 19:39#21

@Gas nie używanie Qt to średniowiecze? Z tego co wiem to jest płatne na dodatek.... Sory ale teraz zaczynasz już pitolić :|

A ten Twój przykład //jakieś operacje to znaczy jakie? No napisz mi ten kod co ja napisałem w przykładzie tak zwięźle jak w C# ;) masz listę obiektów klasy. W klasie jest zmienna nazwisko. Wyciągnij mi listę nazwisk.

AvatarUżytkownik jest nieaktywny
Gas | 27.07.2010 19:43#22

QStringList to klasa;
popatrz na to ca napisalem wyzej jeszcze raz.

http://doc.trolltech.com/4.6/qstringlist.html

AvatarUżytkownik jest nieaktywny
Gas | 27.07.2010 19:44#23

;)

AvatarUżytkownik jest nieaktywny
T72 | 27.07.2010 19:44#24

"QStringList list1,list2;
//jakies /operacje na list2
list1=list2;
//
I co?"

I nic ;) widzę programistą nie jesteś bo ten przykład nie prezentuje nic :]. Ja napisałem kod wybierający listę nazwisk z listy obiektów klas zaiwerających te nazwiska a Ty po prostu przepisałeś listę stringów jak wnioskuję z jednej do drugiej.

AvatarUżytkownik jest nieaktywny
Gas | 27.07.2010 20:07#25

I to:
Zadeklarowales liste lancuchow, a potem przypisujesz wszystkie elementy z do drugiej uzywajac jakichs sztuczek.
Ja po prostu zrobilem a=b i tyle mojego przepisywania z listy do listy. Prosciej sie nie da. A , to ze tam u ciebie sa tworzone jakies obiekty to mnie nie interesuje skoro rezultat ten sam.

AvatarUżytkownik jest nieaktywny
Gas | 27.07.2010 20:11#26

Ty piszesz tak :
var nazwiska = nasza_lista.Select(x=>x.nazwisko);
Jakies hokus pokus.

A ja tak
QStringList nazwiska=nasza_lista.nazwiska;

AvatarUżytkownik jest nieaktywny
Gas | 27.07.2010 20:11#27

Jezeli juz mowa ze cos siedzi w jakiejs klasie

AvatarUżytkownik jest nieaktywny
TestamenT | 27.07.2010 20:33#28

To nie jest portal programistyczny by coś udowadniać na temat jakiegoś języka programowania, który lepszy i tak dalej. A jeżeli ktoś chce to może używać nawet asemblera.

AvatarUżytkownik jest nieaktywny
Gas | 27.07.2010 20:40#29

T72 | 27.07.2010 19:37
"Założe się, że nie było wkompilowane w exe a z tego wynika, że użytkownik musiał by mieć je na dysku (tak jak maszyne wirtualną .NET)"

Po tym widac twoje zacofanie. .NET opdal ci na rozum i nie myslisz juz.
Ja tam nie pisalem o .exe (na Linuksie siedze wiec jak najbardziej nie) , tylko o kodzie zrodlowym.

Co do .NET. to pewnie wiesz, ze aby program z .net dzialal trzeba miec .net. Ile to zajmuje ? Instalka samego .net 4 zajmuje 50MB. Do Qt musze tylko dodac pare dll-ek do katalogu programu. Dla najprostrzego programu wyjdzie jakies 5MB razem z nim w wersji LGPL gdzie nie moge kompilowac statycznie bez naruszania licencji - dll-ki musza byc osobno. Dodatkowo , by uruchomic program w tym Qt na MACu czy Linuksie wystarczy skopiowac zrodla, przekompilowac i dziala. Da rade tak w twoim C#.net?



AvatarUżytkownik jest nieaktywny
Druedain | 27.07.2010 20:53#30

ble ble ble...

...a co do Qt to czasem nie jest na licencji LGPL od pewnego czasu? A sam gdy się tym 5min pobawiłem to nikt nie kazał mi za nic płacić.

Avatar
Niezalogowany AndB (niezalogowany) | 27.07.2010 20:57#31

Programistą nie jestem. Programowania się uczyłem, znam jedynie podstawy podstaw, ale dwa razy napisałem sobie użyteczne programy gdy nie było czasu robić czegoś ręcznie.
Ale uważam na przykładzie tej dyskusji, która tu się wywiązała, że podobna dyskusja będzie lub już się odbyła na w/w konferencji i przez to wątpię by nowy język programowania zabłysnął. Najpierw ludzie (jeżeli programiści nimi są ;) bo to przecież wiedza tajemna) muszą chcieć w danym języku programować a firmy tworzyć w nim swoje projekty. I to rynek profesjonalistów i firm zdecyduje co jest dla nich dobre a co nie. A nam maluczkim hobbystom pozostanie Python i Pascal bo mistrzowie i tak wybiorą assemblery ;).
Gdzieś jeszcze czytałem dobry tekst o tym dlaczego powinno się uczyć jakiejś odmiany Lispa a nie Javy na Amerykańskiej MIT ale nie mogę znaleźć, głownie ze względu na dobre zrozumienie wskaźników a kto za słaby niech odpada ze studiów -tak bynajmniej napisał autor tego tekstu. Jak znajdę to podam Linka

AvatarUżytkownik jest nieaktywny
Gas | 27.07.2010 21:06#32

Druedain | 27.07.2010 20:53

Jest. I dopoki nie kompilujesz statycznie i nie zmieniasz kodu bibliotek samego Qt, czyli np. nie zmieniasz sposobu dzialania klasy QStringList tylko dziedziczysz po niej i dopiero wprowadzasz poprawki, to mozesz spokojnie na nim zarabiac bez udostepniania kodu.

AvatarUżytkownik jest nieaktywny
Gas | 27.07.2010 21:08#33

Oczywiscie na licencji LGPL, bo jezeli cie stac to mozesz kupic komercyjna i robisz z nim co ci sie podoba.

AvatarUżytkownik jest nieaktywny
Gas | 27.07.2010 21:21#34

http://www.realflow.com/ - soft napisany w Qt , cos z dzialu mechaniki plynow .

Proponuje wpisac 'realflow' na youtube.

Avatar
_qaz7 (niezalogowany) | 27.07.2010 23:16#35

T72 wskazuje, że C# obsługuje lambdę, a Gas pali głupa i wyskakuje z operatorem przypisania na QStringList...

A poważnie, C++ to stary język, któremu brakuje sporo w stosunku do języków nowoczesnych - pierwszym przykładem z brzegu jest choćby mechanizm slotów z Qt - z powodu braku delegatów w C++, zastąpiony sztuczką z MOC-em i generowaniem dodatkowych headerów... albo biblioteka FastDelegate, obsługująca delegaty z 10x szybciej - ale równiez jest tam compiler specyfic hack związany z generowaniem vtable.

Avatar
Peter_24 (niezalogowany) | 28.07.2010 0:11#36

Maciej_S@ Moja pierwsza i zarazem ostatnia styczność z językiem programowania miała miejsce na studiach. Był to Turbo Pascal 4.0 a potem 5.0 :-)


To co to za studia? Nie mów że informatyka! Bo ja po informatyce to miałem z kilkoma językami do czynienia jak np. OpenGL czy Prolog nie mówiąc o c++ czy Java itp.

AvatarUżytkownik jest nieaktywny
Gas | 28.07.2010 1:10#37

_qaz7 (niezalogowany) | 27.07.2010 23:16

"T72 wskazuje, że C# obsługuje lambdę, a Gas pali głupa i wyskakuje z operatorem przypisania na QStringList... "

Teraz to ty glupa palisz. Ja pokazuje , ze mi hokus-lambda-pokus w Qt nie jest potrzebny. Mam od tego metody i klasy, ktore w wiekszosci zastepuja takie wynalazki. Przegladalem fora Qt i 0 (slownie "zero") tematow o lambdzie. Widocznie nikomu nie potrzebna. Ta biblioteka jest zbyt dobra by wprowadzac tam lambde na sile.

"...slotów z Qt - z powodu braku delegatów w C++, zastąpiony sztuczką z MOC-em i generowaniem dodatkowych headerów..."
Mnie to nie przeszkadza. Niech sobie generuje co chce, byle pisac mniej.

Problem z twoimi "nowoczesnymi jezykami" polega na tym, ze oprocz tworzenia "hello world" i tasowania okienkami do niczego sie nie nadaja. Dlaczego? Bo w wiekszosci zastosowan ktore choc troche zblizaja sie do warstwy sprzetowej kodowanie w nich sprowadza sie do wynajdywanie kola na nowo - jezeli sa biblioteki z tego twojego starego C. Jezeli ich nie ma.... no to lipa , nic nie wskorasz. Jezeli czegos nie oprogramowano w C/C++ - w .net tego nie bedzie.
;)
A jak sie wspomni o zastosowaniach 'silowych' typu: gry, symulatory, sterowniki, rendering, obliczenia, itp to te wszystkie ladne i piekne jezyki leza i kwicza. Dlaczego? - Wszystkie posiadaja co najmniej jedna warstwe posrednia. ;)

Avatar
apocowamto (niezalogowany) | 28.07.2010 4:29#38

Jak lecimy z offtopem to lecimy, right?:)
Nie chce mi sie sprawdzac, kto co pisal, wiec bedzie bajzel (wiekszego niz jest i tak juz nie zrobie :):
-C# nie jest w pelni obiektowy
-De facto wszystko, co tu sie pojawilo ma jakas "warstwe posrednia", back to assemebler, anyone?
-sloty w Qt akurat sa fajne :)
-a lambda jest nawet fajniejsza, tylko zalezy do czego sie jej uzywa
-Qt nie jest jezykiem programowania, podobnie nie jest nim OpenGL (padaly tu takie stwierdzenia...)
-Haskell rulz! :D

A jezyki programowania i tak sa skazane na wymarcie, bo punktem docelowym jest zrozumienie przez komputer jezyka naturalnego. Ale tego to my juz chyba nie dozyjemy ;).

AvatarUżytkownik jest nieaktywny
T72 | 28.07.2010 8:33#39

@Gas ale _qaz7 prawdę mówi, że głupa palisz. Sam wiesz, że nie wiesz o czym mówisz i dalej w to brniesz. Mój kod to nie jest "hokus-pokus" tylko to co napisałem. Wybranie listy nazwisk z listy klas zawierających te nazwiska. Twój kod to zwykłe przypisanie listy do listy. Zupełnie co innego. Na forach o Qt nie mówią o lambdzie bo tej w C++ nie ma to dziwne, żeby była o niej mowa.

Generalnie nie masz pojęcia ani o programowaniu, ani o rynku oprogramowania ani o samych językach i technologiach. Działasz zgodnie z zasadą "Nic nie, wiem ale się wypowiem".

"Jezeli czegos nie oprogramowano w C/C++ - w .net tego nie bedzie."

A Ty widziałeś kiedyś możliwości .NET? Odpowiem za Ciebie: "Nie, nie mam o nich pojęcia" ;)
.NET ma swoje ramy wyspecjalizowania. Nie wiem czy wiesz, ale używa się języka takiego jaki do danego problemu jest najlepszy.
Nowe języki zwykle są wyspecjalizowane na coś, ale póki nie zdobędą w jakiś sposób większej popularności to i ich przydatność jest nikła.

AvatarUżytkownik jest nieaktywny
daniosano | 28.07.2010 9:36#40

@Dimatheus
Możesz spokojnie używać poslkich znaków diakrytycznych w C# :)

@apocowamto (niezalogowany)
Jedynym narazie językiem uniwersalnym + pełna obiektowość wykrzystująca na maxa dynamizm to Objective-C.


Pzdr

AvatarUżytkownik jest nieaktywny
T72 | 28.07.2010 9:45#41

@apocowamto (niezalogowany) C# JEST w pełni obiektowy. C++ nie jest.

AvatarUżytkownik jest nieaktywny
daniosano | 28.07.2010 9:49#42

@Gas
Ty chyba nigdy nie używałeś(-aś) .NET!
Cały .NET odbiega do przodu technologicznie i zaawansowanie oraz zestawem bibliotek od całego QT. Wachlarz w .NET jest i będzie długo nie do ogarnięcia przez konkurencję. Tak samo jest z DirectX - który jest najbardziej spójnym ekosystem do multimediów tak i tu na polu króluje .NET, który również zawiera DirectX.

I tak. Możesz wziąć więkoszość kodu z .NET i przekompilować pod GNU/Linux, Mac OS X, Unix i teraz też Symbian (nie wszystko) i bez problemu będzie się kompilować i działać. Nawet Java nie jest tak uniwersalna. Gdzie oczywiście nie przeczę, że QT to jak narazie jedyny zestaw, który jest na wszystkie platformy. Lecz w zastosowani do Windows oraz Mac OS X nie ma racji bytu w większych zastosowaniach i dostosowaniach się do tych systemów poprzez właśnie .NET na Windows oraz Cocoa na Mac OS X.


Pzdr

PS.
Ja sam oczywiście wolę C/C++ i nic innego. Ale czasami są problemy, gdzie "nie ma sensu wbijania gwoździ kombinerkami, kiedy obok jest młotek" - jak to napisał ktoś - nie pamietam kto ;)

AvatarUżytkownik jest nieaktywny
daniosano | 28.07.2010 9:58#43

@T72
Nie do końca jest w pełni obiektowy.
Ponieważ pełna obiektowość tyczy się stricte dynamizmowy, gdzie C# jest statyczny, Chodzi o same delegaty. Gdzie delegaty muszą być wcześniej deklarowane, gdzie w prawdziwym obietkowym języku nie potrzeba czegoś takiego.
I tak do porównania weź sobie delegaty z C# (.NET) i takie messages z Objective-C. To wtedy zobaczysz siłę prawdziwej obiektowości Objective-C - zmiana struktury w czasie działania.
I nic tutaj nie pomogą refleksje i atrybuty w C# - chociaż trochę niedulonie próbują naśladować pełną obiektowość, to w większości przyopadków się sprawdza, lecz narzutem pracy.


Pzdr

Avatar
_qaz7 (niezalogowany) | 28.07.2010 10:15#44

ad #37 - to, że można pisać bez lambd nie oznacza, że są one dla języka zbędne. Da się bez nich żyć, wiadomo, ale nie bez powodu w C++0x pojawia się lambda wbudowana w język - widać taka była potrzeba. Co do Qt, to niczego jej nie zarzucam, jedynie wspominam, jakich sztuczek w implementacji slotów musiano w niej używać, ze względu na braki językowe C++.

Co do .net i C# czy javy - to owszem, języki te miały być proste, czyste składniowo, bogate w biblioteki standardowe, by bez większego trudu z nich korzystać - są "eleganckie" by design.

Wiadomo, że w C# sterowników się nie pisze, wiadomo, że wydajnościowo jest słabszy niż C/C++, ale nie każdy projekt wymaga jakiejś szczególnej wydajności kodu, ale i tutaj nie jest źle, bo C# współpracuje z C++/CLI - co w rezultacie pozwala mieszać kod .NET z natywnym, wiec jak ktoś ma taką potrzebę, może połączyć w jednym module wysokopoziomowy net choćby i ze wstawkami asemblerowymi.

Avatar
bartek11 (niezalogowany) | 28.07.2010 11:49#45

@daniosano
"Nie do końca jest w pełni obiektowy.
Ponieważ pełna obiektowość tyczy się stricte dynamizmowy, gdzie C# jest statyczny, Chodzi o same delegaty. Gdzie delegaty muszą być wcześniej deklarowane, gdzie w prawdziwym obietkowym języku nie potrzeba czegoś takiego."

Sorry, ale Twoim zdaniem co to znaczy język obiektowy? To, że język jest statycznie typowany, nie ma związku z obiektowością.

Avatar
K (niezalogowany) | 28.07.2010 13:37#46

@daniosano
Jeżeli Twoim zdaniem C# nie jest językiem w pełni obiektowym to nie jest nim także Java.

@bartek11
Co ciekawe C# 4.0 wprowadza typy dynamiczne. Może teraz daniosano uzna go za obiektowy...

AvatarUżytkownik jest nieaktywny
daniosano | 28.07.2010 14:57#47

@bartek11 (niezalogowany)
Poczytaj sobie o prawdziwych jezykach obiektowych, które to a które nie. Ja NIGDZIE nie napisałem o satytcznym typizowaniu!!!
Pczeczytaj jeszcze raz wyraźnie. I poucz się trochę bardziej o językach, bo z Twojej wypowedzi wynika, że jesteś laikiem w tym temacie. Dlatego tez po co uczestniczysz w tej dyskusji? Dla zabawy? A może jednak sądzisz, że coś wiesz na ten temat? Może wiesz, ala jak widać za mało.

@K (niezalogowany)
Java również nie jest stricte obiektowym językiem!
C# 4.0 również nie jest i nic tego nie zmieni. Po prostu już całe założenie projketowe jest inne i ma inny charakter.
A to że się odniosłem do C#, to tylko dlatego, że ten język był wzięty pod uwagę w tej dyskusji i "ochrzczony" w pełni obiektowym.


Pzdr

PS.
Jak widać tendencja wypowiadania się w temacie, którym się coś wie, ale nie za dużo jest wzwyżkowa i to nie ważne w jakim temacie. Ot tak trzeba napisać, bo coś wiem. A że za mało, to co mnie to interesuje. Moja prawda jest lepsza. -Heh.

AvatarUżytkownik jest nieaktywny
T72 | 28.07.2010 19:41#48

A mi się wydaje, że to po prostu śliski temat ocierający się o filozofię. Pytanie czy język który nie umożliwia czegoś nie jest obiektowy, czy też raczej taki, który umożliwia coś co w obiektowości nie jest dopuszczalne? A może w pełni obiektowe są tylko te które umożliwiają wszystko to co z definicji wynika i tylko to? @daniosano czy możesz powiedzieć kto podjął taką decyzję, że jest tak jak mówisz? Serio pytam, to nie ironia. Zawsze warto się nauczyć czegoś nowego.

Avatar
bartek11 (niezalogowany) | 28.07.2010 20:20#49

@daniosano
To napisz co Twoim zdaniem powinien posiadać prawdziwy język obiektowy. I co znaczy to zdanie: "Ponieważ pełna obiektowość tyczy się stricte dynamizmowy, gdzie C# jest statyczny"? Przeczytałem to kilka razy wyraźnie i niestety dalej nie wiem o co chodzi.

Avatar
pmadry (niezalogowany) | 15.05.2011 22:57#50

Nie język decyduje o obiektowości ale sposób napisania w nim programu.
Obiektowo mozna też kodzić choćby w PHP.

Dodaj komentarz

Zasady publikowania komentarzy
Autor
Treść
 
Polecamy
Spotkajmy się na HotZlocie!

13-15 07 2012, Zamek na Skale
Recenzja nowego iPada

Rewolucja czy stagnacja?
Testujemy: Manta Smart TV Box

Internet w telewizorze
Top programy
  •  
Top programy ostatnie 7 dni
  •  
Top programy ostatnie 30 dni
  •  
Skanery antywirusowe
skaner av