Войти
Игровая индустрияФорумМаркетинг

Кому на самом деле нужен .net framework (17 стр)

Страницы: 113 14 15 16 17 18 Следующая »
#240
10:29, 8 окт. 2010

GLoom
> Говорят сейчас модный язык Scala

Говорят сейчас в Париже модно трусы под юбку не надевать.


#241
10:41, 8 окт. 2010

Merelalkar
> Говорят сейчас в Париже модно трусы под юбку не надевать.
Юбок не ношу, да и зима.

А тру-пацаны выбирают язык под задачу.

#242
13:08, 8 окт. 2010

TirexiK
> Значит таки не разрешат M$ писать на С++ под вантузфон.
Может, и разрешат, когда оперетка начнёт с треском проваливаться. Но, к сожалению, пока она даже и в свет не вышла. Начальство стремится опередить паровоз. Посмотрим, насколько это оправданный расчёт.

Merelalkar
> А на чем должны писать Ъ-пОцОны? На б-мерзком pure C? В блокноте?
Да, и на С тоже. В основном, конечно, на С++ (имею некоторые сомнения насчёт "в ревизии последнего стандарта"), но и С тоже сгодится. Даже, в принципе, дельфи можно перетерпеть. А ещё есть хороший язык PHP.
Шарп же - уродливый химерический конструкт, вобравший в себя худшие стороны дельфей, С++ и жабы. Его убогость убедительно доказывает тот факт, что менее, чем за 10 лет он оброс синтаксическими костылями для решения проблем, которых в нормальном языке не возникло бы.
Когда вместо часто используемой конструкции (внезапно! выяснилось, что она часто используется) типа try (некий_стандартный_класс.что_то_там) { ... } finally { что-то там ещё } в стандарт вводят захардкоденный "оператор" xxx (что-тотам) { ... },
это, знаете ли, симптоматично.
Вот интересно, на версии сколько.0 шарпосочинители додумаются до макроопределений хотя бы в форме id (выражение) { ... }?

NeverMore
> Настроечку то подсказать?
Да уж подскажите-то, блесните эрудицией.

GLoom
> А тру-пацаны выбирают язык под задачу.
Это в теории. А на практике оказывается, что задач весьма ограниченное кол-во, и языков тоже весьма ограниченное кол-во. И идеально подходящего под задачу среди них нет, есть только наименее неподходящий.

#243
13:14, 8 окт. 2010

Sbtrn. Devil
> вводят захардкоденный "оператор" xxx (что-тотам) { ... },
Это про lock и using?

#244
13:15, 8 окт. 2010

Sbtrn. Devil
> Когда вместо часто используемой конструкции (внезапно! выяснилось, что она
> часто используется) типа try (некий_стандартный_класс.что_то_там) { ... }
> finally { что-то там ещё } в стандарт вводят захардкоденный "оператор" xxx
> (что-тотам) { ... }, это, знаете ли, симптоматично.

Вполне логично и удобно вместо

var obj = new MyObj();
try
{
  // ...
}
finally
{
  if (obj != null)
    obj.Dispose();
}

использовать

using (var obj = new MyObj())
{
  // ...
}
#245
13:56, 8 окт. 2010

GLoom
> Это про lock и using?
Так точно.

Zaraza31337
> Вполне логично и удобно вместо
Не-не-не. Вы, товарищ, не поняли. Это, разумеется, логично и удобно. Но в нормальных языках подобные удобства вводятся силами юзера, при помощи макроопределений (или, на худой конец, миксинов), а в $hарпе - методом сочинения очередной версии стандарта и апдейтом компилятора со средой разработки. Вот это - архиненормально.

#246
14:59, 8 окт. 2010

Последние нововведения в C# (3.0) мне даже нравятся:

-Расширенные методы (extension metods)
-автономные свойства
-лямбда выражения при объявлении функций-делегатов
-запросы интегрированные в язык (LINQ), перспективная штука.

Кроме того мне нравиться концепция декларативного добавления поведенческих свойств путем использования атрибутов методов и классов.
Например в ASP.NET MVC, при обьявлении класса контроллера можно подключить проверку авторизации просто добавив аттрибут:

[Authorize]
class AuthController : Controller
{
  [HttpPost]
  public ActionResult Login(string name, string password)
 {
 }
}

C# 4.0 принес некоторые новые новшества, но я о них не в курсе.

Я думаю те кто гонят на .NET, просто не видели примеров грамотного использования языковых средств C# и .NET. И даже не стремятся в полном объеме постичь ту технологию с которой "жизнь заставила работать". А жаль. У платформы большой потенциал.

#247
15:26, 8 окт. 2010

Алсо. Хотя я долгое время имел дело с С++, язык этот мне не нравиться.

Разработчик должен думать о решении поставленной задачи. А не тратить время на укрощение компилятора, думая о таких нюансах как выделение/освобождение памяти, подсчете сылок COM-обьектов, как передаются параметры  - по значению или по ссылке, какие скрытые операции выполняются при присвавании одной переменной другой, о том какой код генерируется из различных трехэтажных шаблонов и макропоределений.

Если язык позволяет выстрелить себе по яйцам, то это не значит что его пользователь - крутой ковбой. Он больше похож на рабочего, занятого на вредном производстве. Он ходит в прорезиненом комбинезоне, дыхательной маске, и с каской на голове. Он должен быть осторожен чтобы не подскользнуться и не угодить в чан с токсичными отходами. Все операции он выполняет вручную.

А его более продвинутые коллеги (.NET) в это время сидят в теплых офисах и управляют производством с пульта управления. Да они может не познают всей романтики "поближе к железу" и DLL-hell, но их жизнь легче и комфортней.

#248
15:41, 8 окт. 2010

Sbtrn. Devil
> А ещё есть хороший язык PHP

На Пыщь!-Пыщь! писать можно по разному.

Можно так:

require_once("application/factories/documents/Base.php");
  
  class Application_Factories_Documents_Dismissal extends Application_Factories_Documents_Base
  {
      public function createForm($centerCode)
      {
          require_once("application/forms/documents/Dismissal.php");
          
          return new Application_Forms_Documents_Dismissal($centerCode);          
      }
      
      public function createTransactionScenario()
      {
          require_once("application/services/documents/Dismissal.php");
          
          return new Application_Services_Documents_Dismissal();          
      }
      
      public function createDocumentMaket($documentID)
      {
          throw new Exception("не реализовано!");          
      }
  }

а можно так:

if( $q->EOF )
      echo "<p>Нет</p>";
    else{
      echo "<table class=detailsTable cellspacing=0 cellpadding=0 border=0>";
      echo "<tr class=head><td>Центр</td><td>Отделение</td><td>Специальность</td><td>ФИО врача</td><td>ФИО пациента</td><td>Время записи</td><td>Причина отказа</td><td>ФИО регистратора, принявшего отказ</td><td>Время принятия отказа</td></tr>";
      $Section=$q->Fields['Section_id'];
      $SectionName=$q->Fields['Section_Name'];
      $Unit=$q->Fields['LpuUnit_id'];
      $UnitName=$q->Fields['LpuUnit_Name'];
      while( !$q->EOF ){
        If ($q->Fields['Section_id']!=$Section){
          echo "<tr><td><b>Итого {$SectionName}</b></td><td colspan=8 align=right><b>{$seccnt}</b></td></tr>";
          $seccnt=0;
          $Section=$q->Fields['Section_id'];
          $SectionName=$q->Fields['Section_Name'];
        };
        If ($q->Fields['LpuUnit_id']!=$Unit){
          echo "<tr><td><h2>Итого {$UnitName}</b></td><td colspan=8 align=right><b>{$unitcnt}</h2></td></tr>";
          $unitcnt=0;
          $Unit=$q->Fields['LpuUnit_id'];
          $UnitName=$q->Fields['LpuUnit_Name'];
        };
        echo "<tr><td>{$q->Fields['LpuUnit_Name']}</td><td>{$q->Fields['Section_Name']}</td><td>{$q->Fields['Profile_Name']}</td><td>{$q->Fields['Medpersonal_FIO']}</td><td>{$q->Fields['Person_FIO']}</td><td>".date("H:i d.m.y",strtotime($q->Fields['TimetableFail_begTime']))."</td><td>{$q->Fields['TimetableFail_Comment']}</td><td>{$q->Fields['pmUser_name']}</td><td>".date("H:i d.m.y",strtotime($q->Fields['TimetableFail_updDT']))."</td></tr>";
        $totalcnt++;
        $seccnt++;
        $unitcnt++;
        $q->Next();
      }
      echo "<tr><td><b>Итого {$SectionName}</b></td><td colspan=8 align=right><b>{$seccnt}</b></td></tr>";
      echo "<tr><td><h2>Итого {$UnitName}</b></td><td colspan=8 align=right><b>{$unitcnt}</h2></td></tr>";

      echo "<tr><td><h1>ИТОГО</b></td><td colspan=8 align=right><b>{$totalcnt}</h1></td></tr>";
      echo "</table>";

Я думаю дело не в языке, а в том кто его использует.

#249
19:08, 8 окт. 2010

Merelalkar
> На Пыщь!-Пыщь! писать можно по разному.
Этим-то он и замечателен. Ибо, когда потребуется:

die ("Not implemented");

нас не заставят писать:

require_once ('framework.php');
class MyApplication extends Application
{
 function appInfo ()
 {
  // все поля должны быть заполнены, иначе не запустится
  $appInfo = new (Application::Info);
  $appInfo->setManufacturerContentType (Application::PlainText);
  $appInfo->setManufacturer ("");
  $appInfo->setTitleContentType (Application::PlainText);
  $appInfo->setTitle ("гады, мне ведь просто выйти нужно!");
  return $appInfo;
 }
 function appInit ()
 {
  $this->requireFeature (AppFeature::TemplateGenerator);
  $this->requiteFeature (AppFeature::Aborter);
 }
 function doApplication ()
 {
  $msgGen = $this->getTemplateGenerator ();
  $msgGen->setContentType (Application::PlainText);
  $msgGen->setTemplate (Templates::NONE);
  $msgGen->setContent ("Not implemented");
  $msg = $msgGen->doFormat ();
  $aborter = $this->getAborter ();
  $aborter->setNotificationMode (Aborter::Message);
  $aborter->setMessage ($msg);
  $aborter->doAbort ();
 }
}

$app = new MyApplication ();
$app->run ();

> А не тратить время на укрощение компилятора, думая о таких нюансах как
> выделение/освобождение памяти, подсчете сылок COM-обьектов, как передаются
> параметры
Зато потом придётся потратить много-много времени, мучительно соображая, куда в этой быстронаписанной программе утекают-таки ресурсы в ужасающих количествах, вникать в хитросплетения между объектами, обнаруживать армию каких-нть дунканов маклаудов, не желающих помирать в установленное время, пытаться сообразить, откуда же, м-ть их шотландию, на них висят ссылки, не дающие им отправиться в биореактор...
А С++-ники, за это время спокойно дописавшие, отладившие и сдавшие проект, ржут над раскрасневшимися шарпистами и кидаются в них огрызками от семечек.

#250
20:26, 8 окт. 2010

Merelalkar
Уже мозоль от этих наездов на С++. Хотите простоты  - пишите на бейсике, будет вам простота и яйца себе не отстрелите.
Я не буду осуждать C# - если придётся - перейду на него, но все эти "кондомные" новые языки пока особых симпатий не вызывают. Программиста как будто засовывают в презерватив - чем бы дитя не тешилось, лишь бы не забеременело.

#251
3:56, 9 окт. 2010

> Для C# достаточно одной клетки мозга и двух недель чтения книжки
C# - это просто язык для домохозяек

#252
5:28, 9 окт. 2010

> C# - это просто язык для домохозяек
+1. Подтягивает домохозяек до профессионального уровня.

А профессионалам просто дает кучу свободного времени.

P.S. Про табы VS: в настройках редактора надо развернуть для языка дерево до конца. Там появится лист в дереве про иденты.

#253
8:20, 9 окт. 2010

Sbtrn. Devil
> Зато потом придётся потратить много-много времени, мучительно соображая, куда в
> этой быстронаписанной программе утекают-таки ресурсы в ужасающих количествах,
> вникать в хитросплетения между объектами, обнаруживать армию каких-нть дунканов
> маклаудов, не желающих помирать в установленное время, пытаться сообразить,
> откуда же, м-ть их шотландию, на них висят ссылки, не дающие им отправиться в
> биореактор...


Если не хватает ресурсов, есть "волшебное средство":

   
       //сборка мусора
       GC.Collect();
#254
8:27, 9 окт. 2010

TirexiK
> Уже мозоль от этих наездов на С++. Хотите простоты - пишите на бейсике, будет
> вам простота и яйца себе не отстрелите.
> Я не буду осуждать C# - если придётся - перейду на него, но все эти "кондомные"
> новые языки пока особых симпатий не вызывают. Программиста как будто засовывают
> в презерватив - чем бы дитя не тешилось, лишь бы не забеременело.
>
>

Уже мозоль от наездов на managed-среды и языки. Чем вы таким занимаетесь что вам нужен ручной контроль за каждым байтом оперативной памяти? Хакинг уже давно из моды вышел.

Страницы: 113 14 15 16 17 18 Следующая »
Игровая индустрияФорумМаркетинг

Тема в архиве.