Есть ли причина, которую я не должен запускать с C#

Из твоего кода я вижу, что ты прекрасно рисуешь часы ...

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

Теперь рука не движется с той частотой, которую вы просили, я оставляю это для вас, чтобы выяснить.

let canvas = window.document.getElementById("myCanvas");
let ctx = canvas.getContext("2d");
let increment = 0

function drawNumbers() {
  ctx.save();
  ctx.translate(canvas.width / 2, canvas.width / 2);
  for (let i = 12; i >= 1; i--) {    
    ctx.strokeText(i, -5, canvas.width / 8 - canvas.width / 2);
    ctx.rotate(-30 * Math.PI / 180);
  }
  ctx.restore();
}

function drawTicks() {
  ctx.save();
  ctx.translate(canvas.width / 2, canvas.width / 2);
  ctx.rotate(increment * Math.PI / 180)
  ctx.moveTo(0, 0);
  ctx.lineTo(0, canvas.width / 6 - canvas.width / 2);
  ctx.stroke();
  ctx.restore();
}

function draw() {
  increment++;
  ctx.clearRect(0, 0, canvas.width, canvas.width);
  ctx.beginPath();
  drawNumbers();
  drawTicks();
}

draw();
setInterval(draw, 100);
<canvas id="myCanvas" width="250" height="250" ></canvas>

11
задан Mackristo 23 March 2009 в 02:18
поделиться

18 ответов

Если бы Вы идете с C# для веб-разработки, в зависимости от Вашего опыта с веб-технологией, я сердечно рекомендовал бы запустить с ASP.NET MVC перед Веб-формами ASP.NET.

Веб-формы ASP.NET являются первоначальным стилем создавания приложений ASP.NET и пытаются абстрагировать много деталей. Это позволяет Вам создавать приложения, не понимая то, что происходит под капотом (данные сообщения, управление состоянием). По-моему, эти абстракции, хотя делая вещи легкими сначала начинают "протекать" при вхождении в более сложные сценарии (поскольку это учебное руководство доказывает).

MVC ASP.NET, с другой стороны, помогает создать веб-сайты, которые много "ближе к металлу", все еще сохраняя Вас продуктивными. Если Вы хотите неограниченный контроль по получающемуся HTML и не боитесь вещей как cookie, теги form, сообщение и данные строки запроса, то Вы могли бы наслаждаться ASP.NET MVC намного больше.

Конечно, было бы выгодно знать обоих. Но если бы я запускал теперь, то я, вероятно, запустил бы с MVC и переместился бы в Формы (затем понимают, как плохо это, и попятиться :)).

21
ответ дан 3 December 2019 в 00:37
поделиться

Изучение C# является большим в 2009.

Путь назад в день, когда я ввел профессиональный мир, среда языка, очень отличался. Я кодировал профессионально в C и Modula 3 (заменяющий язык Паскаля).

Моя точка - то, что я запланировал бы техническую среду измениться со временем, и запланировал бы это в Вашем профессиональном профессиональном развитии.

Изучение нескольких платформ является отличным способом выполнить это. Например, Вы могли иметь C#/.NET как свой основной навык, но также и работать с JAVA. Когда новая платформа появляется, Вы могли добавить его как свой переход или скопировать набор навыков.

0
ответ дан 3 December 2019 в 00:37
поделиться

Никакие недостатки действительно за исключением того, что Вы не будете приветствоваться в тех социальных группах (и даже географические регионы), которые излагают себя против "злой Microsoft".

Язык (лучшая платформа.NET) довольно хорош. Одна важная вещь состоит в том, что это очень активно разрабатывается, вызывая некоторое поддержание на высоком уровне проблемы людей. Но у меня была бы быстрая разработка по сравнению с годовым застоем.

Вы могли бы рассмотреть проверку, что работодатели в Вашей области предпочитают как технологический стек.

Рассмотрение лицензирования затрат можно рассмотреть следующее: Если это - небольшой сайт, можно использовать Visual Studio Express/SQL Server Express бесплатно, и это будет достаточно. При предложении некоторого главного тяжелого переданного проекта, Вы будете, вероятно, для нахождения способа сделать доходы и покрыть лицензирование расходов.

0
ответ дан 3 December 2019 в 00:37
поделиться

Коммерчески я - разработчик C#. Я люблю C#. C# является большим языком со строгим контролем типов. С Resharper, установленным, я могу создать свои идеи в коде быстро и согнуть его к моему желанию.

Когда я иду домой каждый вечер, я использую Ruby. Даже при том, что у меня нет поддержки рефакторинга (сниффинг). Я нахожу, что я намного более продуктивен в Ruby, чем в C#.

Я работал, пишущий большое приложение ASP.NET в течение нескольких лет. Мы реализовали MVC для попытки к detangle представления из модели. Всегда было такое чувство, что я боролся с платформой, не работая с ним. Последние платформы .NET для того, чтобы сделать веб-приложение основаны на направляющих... только несколько лет позади. Я люблю язык. Я люблю CLR. Я не слишком увлечен .NET.

Я нахожу, что рубиновое сообщество является дружелюбным и вибрирующим. Сообщество разработчиков ПО с открытым исходным кодом направляющих производит загрузки учебных руководств и плагинов, которые делают набирание скорость легким и соединение Ваше приложение простой.

Другая вещь рассмотреть (насколько, выбирая язык для изучения) состоит в том, что рубином является Объектно-ориентированный язык. Даже классы являются объектами. C# является Классом Ориентированный язык, т.е. он предоставляет Вам один способ создать объекты.. определите класс сначала. (не полностью верный.. можно генерировать блоки в памяти с помощью codedom.. но это ни в коем случае не легко).

Это может походить на тонкий момент, но существует различие.. и пока Вы не получаете опыт с языком OO как рубин или smalltalk, не очевидно, каково это. После того как Вы чувствовали свободу создания объектов путем смешивания в функциональности во времени выполнения и т.д., Вы находите, что все 'обходное решение, которое необходимо было сделать в C#, исчезает. Наличие системы поддержки интерфейсов делает кажется страшным сначала.

В целом, я изучил бы рубин..

  • Если бы Вы плохо знакомы с программированием (полностью), я запустил бы с http://pine.fm/LearnToProgram/
  • Затем я изучил бы BDD (RSpec) и получил бы тест, зараженный как можно скорее.
  • Затем я использовал бы учебные руководства по направляющим и экранные броски до моих вытолканных глаз

Единственная проблема.. если Вы запускаете с рубина, затем позже переходят к C#, Вы будете идти "Aaaaagh! Это было бы настолько легче сделать в рубине" все время. Я знаю, что делаю.

1
ответ дан 3 December 2019 в 00:37
поделиться

Мой совет? Изучите различия для себя. Игра вокруг с ними обоими. При учитывании проекта в виду запишите прототип для него в них. Вы всегда будете во власти предвзятости других народов иначе.

ASP.net (C#) и Ruby on Rails используется в высококлассных сайтах, таким образом, Вы не можете пойти также неправильно ни с одним. Я мог бы также предложить, чтобы Вы испытали программирование Python с django? Это - то, что я склонен предпочитать для веб-программирования.

1
ответ дан 3 December 2019 в 00:37
поделиться

Это зависит от нескольких вещей. C# и .NET, заполняют, и th инструменты действительно очень легки (complared к Java! Java-разработчик, говорящий здесь...), но Windows Hosting является дорогим по сравнению с ЛАМПОЙ (которые включают Ruby, Python и PHP).

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

Это также зависит от рынка труда Вашего местоположения... здесь в Южной Африке, Вы получаете намного больше заданий C# и не много PHP и т.д. От курса, если Ваш внештатный работник Вы будете изо всех сил пытаться найти работу.

Для меня Ruby снова хорош для моего собственного материала человека, но Вы не получаете заданий Ruby здесь.

1
ответ дан 3 December 2019 в 00:37
поделиться

Я - разработчик .NET C#, и я думаю, что это является большим, но я выделю опасность у Asp. Сетевой WebForms. Это непохоже на большинство других веб-платформ и делает БОЛЬШОЕ волшебство под покрытиями. Поскольку другие сказали, что ASP.NET MVC является, вероятно, больше встроенным с другими веб-платформами (Направляющие, например). Краткие обзоры Веб-форм много основных деталей webdev далеко, который, Если Вы хотите быть веб-разработчиком, Вы закончите тем, что должны были знать. Так да C# является большим, но я запустил бы с MVC и затем посмотрел бы на веб-формы возможно. Также рассмотрение других языков и платформ высоко поощряется всегда существует материал для изучения.

1
ответ дан 3 December 2019 в 00:37
поделиться

Рассматривая все ответы до сих пор, я думал, что посмотрю на все четыре упомянутые языка.

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

Python является большим языком, но мне, Ruby - весь, что Python и немного больше. Лично я пошел бы для Ruby.

C# является также большим языком, но в то время как я не использовал C# достаточно для высказывания чего-либо с уверенностью, я чувствую, что Ruby является лучшим выбором.

1
ответ дан 3 December 2019 в 00:37
поделиться

Я думаю, что стоимость развертывания могла бы быть другой вещью, т.е. если Ваш проект должен масштабироваться горизонтально и добавить больше серверов для загрузки баланса или даже для географически распределенных серверов. Обычно хостинг окон будет выполнять немного больше, чем Linux (даже не рассматривая военных причин пламени).

2
ответ дан 3 December 2019 в 00:37
поделиться

C# является большим языком для использования. И так как Вы используете его через сеть и не настольные приложения, например, Вы не должны волноваться о том, чтобы быть многоплатформенным, так как код выполняется на Вашем сервере и выводе, обеспеченном клиентам. После этих слов необходимо будет найти хостинг Windows (который может иногда быть немного более дорогим), или используйте моно (который не является точно наиболее обновленным программным обеспечением там). Оборотные стороны минимальны, хотя, захватите копию специального выпуска и пойдите для него!

2
ответ дан 3 December 2019 в 00:37
поделиться

Никакая причина в особенности, чтобы избегать C#. Это - столь хороший язык как любой. Stackoverflow использует его, например, таким образом, это работает над успешным веб-сайтом, и можно получить программирование заданий в нем.

Собственной вещью было бы соображение, если бы Вы программировали как хобби или от Вашего собственного ограниченного бюджета, или Вы хотели способствовать разработке компилятора/языка. Я предполагаю, что ни один из них не имеет место. (Редактирование: как другие указали, среды с открытым исходным кодом для C# существуют.)

1
ответ дан 3 December 2019 в 00:37
поделиться

Недостаток к изучению C# - то, что это связывает Вас с собственной платформой и программным стеком. Теперь, там Моно, который делает хорошее задание реализации большой части C# и .NET, но основным устройством и большей частью полноценного внедрения является Microsoft, которая несвободна.

Я не использовал C# достаточно для дебатирования, это - технические достоинства относительно Ruby или Python. Я могу сказать, однако, что обучение использовать и даже способствовать назад бесплатному программному обеспечению может быть довольно образовательным, в дополнение к другим преимуществам (обсужденный в длине в другом месте), что бесплатное программное обеспечение обеспечивает.

7
ответ дан 3 December 2019 в 00:37
поделиться

c# является хорошим языком для запуска с потому что:

  1. Это - очень хороший и очень чистый язык
  2. Это имеет превосходную библиотеку (платформа.NET). Это - одна из самых важных вещей рассмотреть при выборе языка.
  3. Это очень популярно, Вы будете всегда мочь найти ответ, который Вы ищете от сообщества.
  4. Если Вы знаете c#, Вы в значительной степени знаете VB.NET.
  5. c# синтаксически подобен Java. Изучение c# не будет преподавать Вам библиотеки Java, но оно значительно уменьшит кривую обучения, если Вы захотите ввести лагерь Java.
  6. c# синтаксически подобен C++. Снова, это пользуется другой библиотекой, и в отличие от C++ Вы получаете управление памятью; но кривая обучения должна быть несколько уменьшена, если Вы решаете играть с C++.

Что касается сети...

Веб-формы ASP.NET делают большое волшебство для Вас. ASP.NET MVC (просто выпущенный) не делает почти никакого волшебства для Вас. Для изучения MVC является лучшим выбором.

4
ответ дан 3 December 2019 в 00:37
поделиться

Не волнуйтесь о стоимости. Компилятор является бесплатным использовать, наряду с остальной частью SDK Fx, и можно даже загрузить Visual Studio бесплатно.

7
ответ дан 3 December 2019 в 00:37
поделиться

Я соглашаюсь, что C# является довольно полным языком, это - синтаксис, является чистым и расширяемым. Существует огромная сумма веб-ресурса, уже доступного, но и это - большое, но, это эффективно связывает Вас с окнами как Ваша платформа. Для сети особенно это - важный фактор. На настольных окнах король, но для веб-серверов рынок это не является почти настолько доминирующим.

Другой второстепенный вопрос при рассмотрении богатых медиа в сети, необходимо рассмотреть Flash и/или Silverlight. Если Вы идете C# затем, Вы некоторым образом к использованию Silverlight, не уча другой язык.

9
ответ дан 3 December 2019 в 00:37
поделиться

C# хорошо для запуска при выполнении веб-разработки. Однако я рекомендую не начать программировать с веб-разработкой. В веб-разработке трудно разобраться. Путь тяжелее, чем небольшие вещи командной строки. Я рекомендую, чтобы Вы получили некоторое хорошее программирование опыта для командной строки, и затем переместились до GUI и затем шли дальше к сети. Сеть имеет целый набор вещей, о которых необходимо волноваться. Необходимо знать 3 языка (HTML, JS, C# (или вставить серверный язык здесь)). Плюс Вы должны волноваться обо всех причудах браузера и материале. И это, даже не входя в базы данных. Который обычно используется в большинстве веб-приложений, но открывает целую другую кучу проблем.

2
ответ дан 3 December 2019 в 00:37
поделиться

Это, вероятно, приведет к flamewar, но я думаю, что C# является довольно хорошим языком для запуска с для веб-разработки.

Это - полнофункциональный объектно-ориентированный язык и со статическим контролем типов и скомпилировано. Это очень хорошо документируется и имеет огромное сообщество разработчиков.

Если бы Вы абсолютно должны работать на Linux/Apache и не хотите использовать Моно, который был бы причиной не использовать C#. Кроме этого, я не думаю, что существует неопровержимый довод не к, особенно с ASP.NET MVC, который позволяет Вам переехать от модели WebForms.

Нельзя сказать, что WebForms обязательно плох, но некоторые могли бы возразить против WebForms, поскольку он представляет абстракции, которые не свойственны от других платформ веб-разработки.

27
ответ дан 3 December 2019 в 00:37
поделиться

Нет никакого "лучшего языка по всем". Вы используете один инструмент для цели, которой это было сделано, вот почему существует несколько инструментов.

Так как Ваш вопрос, "почему бы не изучить C#", сказал бы я:

  • Если Вы планируете работать с другой ОС затем Windows (Моно, не может выдержать сравнение).
  • Если работа в ENV или с людьми не дружественный .NET (например: банк, ученые)
  • Если Вы работаете в ENV или с людьми, которые опытны в другой хорошей технологии (никогда не недооценивают использование хорошего ведущего устройства).
  • Если Вы думаете, что Бесплатное программное обеспечение имеет значение так много, что использование продукта MS не стоит того.
  • Если Вам не нравится Visual Studio MS (работающий в c# без хорошего IDE, боль).
  • Если Вы планируете программировать что-то, что .NET не подходит для (например, встроенные устройства, сценарии, отказоустойчивая система в реальном времени, AI, и т.д.).
  • Если Вы - сеть dev и не можете позволить себе Лицензию Windows Server.
  • Если Вы хотите изучить программирование с самыми основами, включая простые функции и быстрые и грязные сценарии.

Теперь, я программирую в Php, Python, Java и C#. Python является моим предпочтительным языком, но c# является действительно первым инструментом программирования MS, который обольстил меня: это чисто и эффективно. Действительно, это о том, что Вы хотите сделать, не вопрос религии.

Сделайте СВОЙ выбор.

Это сказано, C# сосет и скалы Python.

20
ответ дан 3 December 2019 в 00:37
поделиться