.NET - и защо някои хора не го харесват?


5

Здравейте колеги - можеби името на темата не е достатъчно описателно за това, което имам предвид, но не се сетих друго.

Та преди малко изгледах едно видео на Иван Ванков (gatakka) където бая плюе .Net платформата и горе-долу успява да се обоснове. Видеото малко размъти чувствата ми към .net, но пък аз лично много си я обичам и не искам да се сълася с повечето изложени критики.Много ми се иска да чуя мнението на повечко хора защото аз все още съм noob и немога да си изградя толкова мащабна преценка.

Ето линк към видеото:http://www.youtube.com/watch?v=Q942BV0WZSE




Отговори



6

Издържах да го изслушам, макар да ми беше трудно на моменти -  не защото съм толкова влюбен в .NET, а защото такива рантове съм слушал предостатъчно в IRC и по форумите. Във всяка софтуерна ниша има такива изказвания от хора които ги е страх че конкуренцията ще намали престижа и пазарното присъствие на "тяхната" платформа. Въпреки това понякога си струва да ги изслушаш, за да чуеш все пак по някоя полезна критика. Ето малко разхвърляни (за)бележки по видеото:

* C# НЕ Е "Java на Microsoft". Езикът датира от 2001 и наистина е базиран на Java (и не само), но оттогава се развива непрекъснато и с всяка итерация става все по-съвършен и все по-малко прилича на "родителя" си. Ползвал съм много езици и C# за мен е един от най-готините и най-продуктивните. Дори е малко странно колко бързо еволюира - итератори, ламбда методи, generics (+constraints + generic variance), LINQ, dynamic, optional parameters, async, type inference, разширителни методи, анонимни типове, Roslyn...  Предполагам че за този dev това също са "пълни глупости", но от личен опит знам че добрата им употреба може да намали времето и усилията за разработка с поне 1/4 в сравнение с Java, която е пословична с многословието и липсата си на елегантност.

* Mono изобщо не е дреболия. Според мен този проект може да изиграе огромна роля за бъдещето на CLR и C#.

* Колкото до скоростта, това е страшно субективно, до такава степен че вече въобще не слушам когато някой сравнява скоростта на езиците. Единствения език за който в момента мога да кажа че е "твърде бавен" е Ruby, и то главно защото стандартната му имплементация е писана от един човек. Защо Bing не е написан на C#, е добър въпрос, трябва да го проуча. От друга страна, знам една фирма която се справя доста добре с web приложенията на .NET.

* За vendor lockin-а е прав. Лицензите също не са шега работа. Това е нещо за което си струва да се замисли човек. Все пак е факт че като дизайн и имплементация .NET и C# са доста добри, и именно това е причината да се портват в Mono.

Колкото до "рамките" на .NET не съм особено сигурен какво иска да каже. Същите аргументи могат да се използват за това да не използват никакви библиотеки, за да не вземем да забравим алгоритмите за низове и побитовите операции. Съгласен съм със saykor че тук си опира до човека, не до платформата.

В крайна сметка, .NET работи. Колкото и да го хейтват, факт е че е продуктивна и мощна платформа - ако не друго е полезен инструмент, а дали е най-най-добрия, това е за всеки сам да си направи анализа на плюсовете и минусите.

--
intelligence shared is intelligence squared


от staafl (5770 точки)


2
Ето аз какво мога да ти кажа без много да го мисля - първите ми мисли:
.NET Плюсове:
Няколко езика поддържащи различни технологии (Win, Win8, Asp etc.)
Easy to learn, hard to master
Спестява време в писането на големи и малки приложения. Сравнен със С++ примерно.
и т.н.
Минуси:
Ограничен в средата на .NET, това на много хора не им се нрави, както и на мен до определена степен.
Заема повече ресурси от приложения писани на други езици, като пак визирам С++, но не се ограничават до там.
Г/д това е мисля.



0
Бих добавил към минусите и това, че не е open source, за разлика от Python и Java, например.


0
Да и това може, но скоро време може и това да стане покрай историйте с Mono и Linux




1
При тия технологии е едното нещо за сметка на другото - предимствата на .NET са предпоставка за съответните му недостатъци и са взаимосвързани. Другото са празни приказки. Същото е и с безкрайните сравнения между iOS и Android - коренно противоположни ОС-и, всяка има съвсем различни предисмтва и съответно различни недостатъци. Иначе автора на това клипче е пристрастен демагог и не мисля, че си струва 12 минути да го гледам, такива неща могат да се сбият в няколко изречения в мнение във форум.

от Bootstrapper (0 точки)


0
Като плюс: IL(intermid. language), позволяващ съвместимост между .NET езиците.
Като минус: И аз бих дал това, че е closed soure платформа.
Макар, че дали е минус точно това е малко спорно.

от vaster (215 точки)


1
Видеото е от 2010. За три години се промениха доста неща. :)

от GeorgiYolovski (1147 точки)


1
Мисля, че Наков и Ванков ще направят страхотно шоу, ако се съберат двамата на една лекция, примерно. :D



0
Това ще е невиждан спектакъл :d

от iwitass (3695 точки)

0
Вече има подобна инициатива с участието на Stilgar и бих казал, че е доста успешна: http://www.nerds2nerds.com/?page_id=6 :)

от jasssonpet (6814 точки)



1

Много крайно мнение, без конкретна критика - кое точно не работи както трябва(някакви правили нещо и то не тръгнало - сякаш не се случва във всеки проект).

Двата аргумента, които аз успях да отлича са 

  1. платформената зависимост
  2. некадърни дивелъпъри

Първото е ясно - така е, но никой не може да те ограничи какво да използваш и ако искаш винаги можеш да пренапишеш ключова част от софтуера изцяло с твой код. Изключенията от това са по-скоро малко.

Второто го има на всеки език или платформа, ако трябва да го сравняваме по това съм сигурен, че на php има много повече индианци отколкото .net/C#. Там всеки може да налупа нещо в един файл и да го пусне за интерпретация на апачи и то ще върви.


от georgi.ivanov (3261 точки)


0
Не го познавам този пич, но както се самоописва изглежда опитен дивелопър и да твърди, че Фейсбук бил писан на PHP e меко казано наивно...
Другите противоречия в които се оплита - ".NET било една джунгла дето няма научаване и човек трябва да положи мноого усилия за да го научи..." и същевременно "в .NET всичко било наготово и затва знанията закърнявали"...
Моето мнение по въпроса - .NET е ентерпрайс левъл платформа, което значи, че големите играчи я ползват - защо? ... защото е много бавна, некадърно направена и защото те са тъпи и се чудят къде да си похарчат парите на вятъра ли? Не мисля така! По-скоро май е обратното.

от todor_pr (1527 точки)


0
Не ги взимай тези мнения толкова навътре, че съвсем ще се объркаш. Той гатака май беше джавар. Ето ти предимства/недостатъци на джавата:
НЕДОСТАТЪЦИ:
- Бавен
- Бавен
- Много бавен
- За WEB не става. Трудно се намира хост.
Предимства:
- Прилича на C# (или обратно :)
- Безплатен.
- Андроид
.NET :
ПРЕДИМСТВА:
- Най-доброто IDE;
- Различни езици (над 50, в това число Java, php, python, C++, etc.)
- Става за WEB;
- Учиш едно нещо, правиш много неща.
НЕДОСТАТЪЦИ:
- Не е безплатен
- Microsoft съвсем се омазаха при мобилните устройства, така че ако си за мобилни устройства, Андроид е по-доброто
php
ПРЕДИМСТВА:
- Най-доброто за web (мое мнение)
- Най-добра документация
НЕДОСТАТЪЦИ
- Има вариант и за десктоп, но е толкова непопулярен, че го забравих какъв беше.
и т.н.
Мнения много. Важното е, че в процеса на твоята работа ще трупаш опит съответно мнения. Но винаги имай едно на ум за себе си, че може и да бъркаш :).



0
Тук изобщо не съ съгласен. Факт е, че Java е бавничка, но то и C# не е най-бързият език. А и не им е това целта. .NET, PHP, Django, Rails и т. н. не могат да стъпят и на малкия пръст на Java EE. Ако не друго то Java платформата точно за web e наистина доста мощна. Това, че трудно се намира хост, няма нищо общо с това дали "става за web". Главният недостатък на Java e че се учи много трудно (много неща включва платформата и отнема наиста много време). Но за сметка на това тя е най-търсената (http://www.nakov.com/blog/2013/06/30/koy-ezik-za-programirane-da-uchim-php-java-csharp-javascript-sql/) и най-високо платената платформа в момента. Не бъркайте езикът Java с платформата Java. Езикът е малка част от платформата (както е със C# и .NET). Не плюте по Java, само защото се учи в академията .NET.


0
Има много общо, ако правиш проекти и гониш срокове. Java е бавен, факт. C# също е бавен. Може и да е най-търсената, не знам. Доста мощни са и другите технологии. Не съм писал, че не е мощно. Има си неговия пазар и той не е WEB, но има и изключения. Не плюя, мнението си е лично мое и нямам намерение да защитавам .НЕТ. Не ставай Гатака 2. Всички джавари ли сте такива?



3
Неговот мнение ми звъчи като: "Мразя microsoft за това .net не става".
Глупаво е да обвинява .нет за това, че "програмиста" не знаел какво е ГЕТ и не се е научил на основни неща. Аз като самоук програмист как съм ги научил и ги знам? Това си е до човек. Системата ти дава възможности. Как ти ще ги използваш си е твоя работа.
Да asp.net сайтове могат да се разработват с просто изтегляне и пльоскане на на контроли по страницата и никога човек няма да разбере кое как работи. Но то си е до него Ако иска може да си остане на това ниво, но може и да се развие. Самата система не ти пречи нито те ограничава. Същото е и със сайтаджията. Можеш да останеш на ниво да правиш сайтове с готови CMSи, а можеш и ти да си ги пишеш. Въпрос на личен избор дали искаш да имаш свободата да направиш всичко точно така както ти искаш или ще се оставиш да те ограничава системата и кода на човека X от място Y.

от saykor (8845 точки)


0
Този 12 минути не каза нищо смислено... Все едно слушам проф. Вучков на младини.

от deyan.todorov (1019 точки)


0
Всеки е свободен да си каже мнението.

от Limonada (104 точки)

0
Прав си и аз това правя :)

от deyan.todorov (1019 точки)