ASP.NET предимства ?

a_vel

New Member
Вчера разглеждайки хотелите на комшиите от Турция (се пак идва лято и трябва да се мисли за море ) ми направи впечатление, повечето им големи сайтове не само туристически а и други са писани на ASP.NET. За дизайн няма да говоря просто са върха изпипано от всякъде.

Та ми е любопитно тия не разбират от PHP :wink: или наистина ASP.NET има много повече предимства от към възможности.

Не ме карайте да давам примери, че без това не им разбирам от езика дето се вика от сайт на сайт разглеждайки видях много хубави изпълнения. Пък какви фен страници имат по 500 000 – 900 000 почитателя направо човек му се иска сайта да е негов
 
От: ASP.NET предимства ?

Ами не знам какви са предимствата, Аз преди години започвах да уча АСП.НЕТ но се отказах и минах на ПХП базирани системи.
За онова време лично на мен ми се струваше по-добре(цените на асп.нет хостинги беше доста по-висока, сега мисля че се изравниха цените) сега не знам как е, нека някой по-запознат да каже
 
От: ASP.NET предимства ?

ASP е няй-голямата боза, не се залъгвай :) Предимства пред PHP няма никакви, само недостатъци - като върви само на Windows (а сървър на windows е пълен ташак), много по-бавно...

Единствената причина някои да го харесват е че е доста по-обектно ориентиран и създава усещането, че пишеш на сериозен език (ако се кефиш на C++ програмиране). Ама това си е само за начесване на програмистка краста и нищо повече :) И доста от Windows-програмистките фирми си го ползват него, та те ги правят тия лай*яни ASP сайтове :)

Реално ако искаш да се занимаваш с уеб - решението е PHP, Mysql, Apache, Linux. На M$ бозите изобщо не ги гледай :) ASP им беше блед опит да изкопират JAVA - беше epic fail, ама заради силното им положение на пазара успяха да залъжат някои фирми да го ползват.

Като заключение - чисто технически няма ни едно предимство пред PHP, ми купчина недостатъци.
 
От: ASP.NET предимства ?

Аз да ти кажа пиша и на двете - в работата на ASP.NET (C#), в свободното време на PHP/Perl. Като цяло ASP.NET си е доволно сериозен фреймуърк, можеш да пишеш code-behind-а на C# или VB.NET. Измежду сериозните му предимства е, че компилира (до междинен код), a не е скриптов език като PHP. Не е толкова омазан като Java-та с хилядите и библиотеки от незнайни индийци и всякаква друга паплач. Ако искаш да пишеш за пари - плаща се по-добре. Недостатъци - не е като да няма. Върви на Уиндоус, май и хостинга е по-скъп, конфигурации и т.н.

За ПХП-то си знаеш.

Ако ще пишеш някакъв Business-2-Business продукт или ще бачкаш за пари - определено ASP.NET. За всичко останало - PHP.
 
От: ASP.NET предимства ?

Ми аз съм останал с впечатление, че за големи enterprise приложения JAVA-та пак е по-оферта, но там вече не съм много в час.
 
От: ASP.NET предимства ?

Понеже Джавата има малко по-дълга история, нормално е да има повече ентерпрайс приложения на джава. .NET-а се появи малко по-късно. Горе-долу правилото е следното:

ентерпрайс бизнес: Oracle + Java
малък и среден бизнес: MSSQL + .NET (ако клиента не може да си позволи поне един Виндоус Сървър, то едва ли го искаш за клиент ;)
персонални и безплатни проекти: PHP, Perl, Python и популярното напоследък Ръби :)
 
От: ASP.NET предимства ?

Най-търсените обектно-ориентирани езика за последните години са C++(C#), Java, PHP, Ruby.Java все пак е създадена да се компилира навсякъде, а и напоследък покрай андроид се налага все по-убедително.
 
От: ASP.NET предимства ?

Понеже Джавата има малко по-дълга история, нормално е да има повече ентерпрайс приложения на джава. .NET-а се появи малко по-късно. Горе-долу правилото е следното:

ентерпрайс бизнес: Oracle + Java
малък и среден бизнес: MSSQL + .NET (ако клиента не може да си позволи поне един Виндоус Сървър, то едва ли го искаш за клиент ;)
персонални и безплатни проекти: PHP, Perl, Python и популярното напоследък Ръби :)

Това с персоналните и безплатни сериозно ли го мислиш?
 
От: ASP.NET предимства ?

Мдам, малък и среден бизнес + голяма част от гигантите (тип Facebook) - PHP :)
Останалата част от enterprise приложенията - JAVA.

Пък ASP - както писах и горе.... само в такива фирми, дето не знаят ни Java, ни PHP или са мигрирали от десктоп програмиране за Windows :)

Просто за enterprise и силно обектно-ориентирани приложения неможе да се мери с JAVA, пък за всички останали - неможе да се мери с PHP.
 
От: ASP.NET предимства ?

Най-смешното на .net-a му беше т.нар виртуална машина - тоест не run-ва native код, ми компилира до някакъв междинен байткод, което го прави в пъти по-бавно.
И това по принцип се прави за да е мултиплатформено (така е и в JAVA), само дето в .net мултиплатформеност викат на това, че върви на всички Windows-и :D И даже не на всички, ми на XP, 2003 server, vista... все едно някой ще тръгне да пуска сървър на XP :)
 
От: ASP.NET предимства ?

Ако говорим за web сигурно над 90% е php и то не безплатно и лично. Сигурно топ 100 на сайтовете в интернет 90% е php++ и то не защото е безплатно ...
 
От: ASP.NET предимства ?

Ама пичове, никой не казва че PHP-то е лош език :) Иначе фейсбук са си разработили компилатор (https://github.com/facebook/hiphop-php/wiki/) който преобразува PHP до C++ такъв. Просто да за избегнат бавния момент с парсването при скриптовите езици.

Понеже говорим за скорост, нека подкрепим твърденията с малко факти. Наковах набързо 2 парчета код - едно на ASP.NET, едно на PHP. Правят едно и също нещо по 100 пъти: отварят връзка към базата, взимат 100 записа от таблица, отпечатват ги и затварят връзката. Който го интересува нека пробва кое е по-бързо, аз няма да казвам, за да не се заформя някакъв флейм.

P.S. Разликата става много по-драстична, когато броят на повторенията се увеличава - на 1000, на 10000

ASP.NET:
Код:
using System;
using System.Data.SqlClient;
using System.Web.UI;

namespace WebApplication2
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            DateTime startTime = DateTime.Now;

            for (int i = 0; i < 100; i++)
            {
                var sqlConn =
                    new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=Test;Integrated Security=True");
                sqlConn.Open();

                var sqlCommand = new SqlCommand("SELECT id, dt, name FROM test", sqlConn);
                var dr = sqlCommand.ExecuteReader();
                while (dr.Read())
                {
                    Response.Write(string.Format("id: {0}, dt: {1}, name: {2}<br />", dr[0], dr[1], dr[2]));
                }

                sqlConn.Close();
            }

            DateTime endTime = DateTime.Now;
            TimeSpan diff = endTime - startTime;

            Response.Write(string.Format("Elapsed time: {0}s {1} ms", diff.Seconds, diff.Milliseconds));

            Response.End();
        }
    }
}

PHP:
Код:
<?php

  $time = explode(' ', microtime());
  $time = $time[1] + $time[0];
  $start = $time;

  for ($i = 0; $i < 100; $i++)
  {
    $mysqli = new mysqli('localhost', 'root', '', 'test');

    $stmt = $mysqli->prepare("SELECT id, dt, name FROM test");
    $stmt->execute();
    $stmt->bind_result($id, $dt, $name);
    while ($stmt->fetch())
    {
      echo sprintf("id: %s, dt: %s, name: %s<br />", $id, $dt, $name);
    }

    $mysqli->close();
  }

  $time = explode(' ', microtime());
  $time = $time[1] + $time[0];
  $finish = $time;

  $total_time = round(($finish - $start), 4);
  echo 'Page generated in '.$total_time.' seconds.'."\n";

?>
 
От: ASP.NET предимства ?

Нормално да е малко по-бързо, все пак ПХП си е интерпретаторен език. За да може да върви на различни платформи.
Докато ASP върви само на windows и малко ми бяга цялата тая галимация с байткода и виртуалната машина за какъв чеп им беше.

Но и като цяло товаренето на езика обикновено е най-малкия проблем, там лесно се оправя, мъката е с базата.

И в тоя ред на мисли парите за MSSQL лиценз ако ги налееш в сървъри и ги навържеш в mysql cluster-и получаваш в много пъти по-добра производителност, макар че самия Mysql може да е малко по-бавен.
Щото тогава не сравняваш 1 MSSQL сървър vs 1 Mysql сървър - ами 1 MSSQL сървър срещу 10ина Mysql сървъра.

Това е и причината и Facebook и Гугъл и още една камара гиганти да седят на Mysql, вместо да купуват Oracle или MSSQL лицензи за по 5к долара на ядро. Просто откакто MySQL изкараха InnoDB и Oracle и MSSQL го издухаха много здраво. До преди това за сериозни бази нямаше къде да бягаш, ама вече не е така.
 
  • Like
Реакции: Alf
От: ASP.NET предимства ?

Съгласен съм с against, с допълнението, че MySQL го купиха Oracle, което само доказва истинноста на заплахата от него. И между другото новия MySQL се казва MariaDB, пак от създателите на MySQL е марията.
 
От: ASP.NET предимства ?

Не сравняваме бази, там темата и много обширна. В горните примери базата се използва само като торба за данни :) Иначе не смятам че MySQL е по-бавен от MSSQL, напротив - доста по-бърз е, особено MyISAM енджина му.

Байткода (в случая MSIL) е междинния език, който се изпълнява от .NET framework-а. По принцип освен C# и VB.NET има доста други езици, които се поддържате от фреймуърка - F#, IronPython, IronRuby, IronLisp, Haskell, Phalanger (PHP за ASP.NET) и доста други. Всички те се компилират от междинния код, за да може да се изпълнят от .NET фреймуърка.

Иначе има Mono компилатор за линукс, ама това с платформената независимост също е друга тема...
 
От: ASP.NET предимства ?

E пробвай да го подкараш с mono и ще видиш :) Иначе то уж и за апаче имаше хакове да го подкараш, ама си е боза.

А между другото за горните тестове - по-интересно ще е същото сравнение ако го направиш с PHP кода пуснат на Linux машина със същия хардуер. Тогава подозирам, че може и да му скине шортите :)
 
От: ASP.NET предимства ?

Много разводнихме темата на колегата. Уж почнахме от ASP.NET, ама се отплеснахме към бази данни, операционни системи, платформена независимост и т.н. Може да си заформим друга тема където да хейтим определени технологии.

Иначе ако трябва да обобщя всичко казано до тук... Няма по-добър или по-лош език, всичко зависи от зад-клавиатурното "устройство" и неговите предпочитания :) Има по-евтини и по-скъпи технологии и тогава зависи от коя страна си - откъм продавача или откъм купувача :)
 
От: ASP.NET предимства ?

Така е :) Аз традиционно си падам малко MS хранител, та не ми обръщай внимание :D
 
От: ASP.NET предимства ?

Да се върнем на темата. "Където се е наложило нещо там е най-добро. " Така е и с езиците и с електрониката и с техниката.
Майкрософт наливат пари в образованието, т.е предоставят безплатни инструменти за обучение. Така се налагат и бъдещите разработчици използват тяхната технология по простата причина, че само нея знаят.

Както в бг съм забелязал примерно за АутоКат. Навсякъде се учи той и това го прави по-използван. Макар, че има много по-добри и по-мощни програми за векторна графика.

+1 за PHP
 

Горе