Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.76/75: Рейтинг темы: голосов - 75, средняя оценка - 4.76
4 / 4 / 1
Регистрация: 12.11.2010
Сообщений: 87

Dot.net или front end

09.06.2016, 15:38. Показов 14313. Ответов 38
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте! Подскажите пожалуйста. Я хочу задать вопрос. Возможно многим он покажется глупым, но мне нужно его задать что бы было спокойней на душе. Я изучал в последнее время front end усиленно. Научился верстать, учу js(заканчиваю учебник learn.ru базовый курс). Думал что хочу стать верстальщиков или front end разработчиком. Но чем ближе к цели тем больше сомнений. Так как верстать скучно как-то, а js очень запутанный с большим количеством фреймворков. Стали посещать мысли, не выучить ли мне c# и не стать ли dot.net разработчиком. c++ учил и со стандартной парадигмой ООП знаком. Но много сомневаюсь. Может мне только кажется, что писать на c# комфортней и интересней и я ошибаюсь на самом деле. Выскажите пожалуйста свои за и против, и как вы считаете сколько аремени нужно, что бы выучить c# до уровня джуна. Или тне выдумывать и учить дальше front end?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.06.2016, 15:38
Ответы с готовыми решениями:

Graphviz. Ошибка "dot: can't open dot"
Здравствуйте. Пытаюсь разобраться с Graphviz для визуализации графа, в интернете был найден такой код: using System; using...

Front-end программист ASP.NET MVC 5 (неоплачиваемо, для резюме)
Привет. Кто хочет получить скилл на ASP.NET MVC и обладает хорошими знаниями по HTML, JS и CSS? Предпочтительно на KnockoutJS, но не...

С++ или Front-end - разработка!?
Прошу прощения, что разместил эту тему здесь, а не в Talk В общем из-за учебной программы катался по разным языкам, а теперь решил...

38
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
09.06.2016, 15:54
Цитата Сообщение от Olegg95 Посмотреть сообщение
Может мне только кажется, что писать на c# комфортней и интересней и я ошибаюсь на самом деле. Выскажите пожалуйста свои за и против, и как вы считаете сколько аремени нужно, что бы выучить c# до уровня джуна. Или тне выдумывать и учить дальше front end?
Ну, я не знаю, ошибаетесь или нет, но я определенно считаю, что C# комфортнее

Ну и да, перейдя на C#, вы можете все свои знания JS'а применить. Потому что ASP.Net это как раз симбиоз сервер-сайда (C#) и клиент-сайда (html/js/css). Во всех фирмах, что я работал(работаю), задача заключается а-ля "напиши компонент, который делает Х". Ну например, парсит конфиг-файл и предоставляет пользователю UI для его редактирования. Условно говоря, два текстбокса и кнопка применить, когда все это дело обратно в конфиг сохраняется. И тут начинаются проблемы - что если пользователь введет число? Ну, естественно нужна валидация. А валидация обычно делается и на сервере, и на клиенте (чтобы не делать постбек, только чтоб показать сообщени об ошибки). Потом нам нужно добавлять в конфиг новые строчки, соответственно нам нужна кнопка "плюсик", которая будет генерировать на клиенте новые поля для конфига (например у нас табличка "ключ-значение", и мы хотим добавить еще одну пару, для этого нужно динамически добавить в табличку еще один <tr>). И чем дальше, тем больше

Последний компонент, который я писал, потребовал около 200 строчек в БД (.sql), около 500 строчек на шарпе и примерно столько же JS

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

Лично я в 2012 году начал изучать шарп, и ни разу с тех пор об этом не пожалел. Для меня это лучший язык на данный момент. Даже модный Rust не может повлиять на это. А учитывая тенденции на опенсорс - .Net Core, Visual Studio Code, vs `15 300mb весом - все только улучшается.
1
 Аватар для FeddeLeGrand
29 / 29 / 18
Регистрация: 09.03.2016
Сообщений: 198
09.06.2016, 16:05
Olegg95,

Не по теме:

Дот нет - это .NET, а не Dot.NET, ведь "дот" - это точка. Это такая маленькая поправочка :)

1
4 / 4 / 1
Регистрация: 12.11.2010
Сообщений: 87
09.06.2016, 16:38  [ТС]
Psilon, спасибо! А расскажите пожалуйста, чем именно c# комфортней. У меня просто такое впечатление, что с с# будет меньше гемора чем с фронт энд. То есть, что там больше работы с алгоритмами и меньше возни с вёрсткой
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
09.06.2016, 16:43
Olegg95, ну потому что зачастую можно генерировать разметку HTML прямо из шарпа. В смысле это давно уже можно, но с каждой версией это все удобнее и удобнее. Например одна из страничек одного проекта:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
@model List<Interfaces.DataContracts.NodeInfoContract>
@{
    ViewData["Title"] = Управление конфигурациями";
}
 
@section Scripts{
    <link type="text/css" rel="stylesheet" href="~/css/parsley.css"/>
    <script type="text/javascript" src="~/lib/parsleyjs/dist/parsley.min.js"></script>
    <script type="text/javascript" src="~/lib/parsleyjs/dist/i18n/ru.js"></script>
    <script type="text/javascript" src="~/js/classes/utils.js"></script>
    <script type="text/javascript">
        window.controllerUrl = '@Url.Action()/';
    </script>
    <script type="text/javascript" src="~/js/Configuration/Index.js" async="async"></script>
}
 
<div id="page-content-wrapper" class="container-fluid xyz-2">
    <div class="panel panel-default">
        <div class="panel-heading">
            Конфигурация
        </div>
        <div class="panel-body no-padding margin-right-validatable" style="min-height: 200px">
            <div class="panel-default col-md-12">
                <div class="panel-body">
                    <div class="dropdown margin-bottom">
                        <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">
                            Узел
                            <span class="caret"></span>
                        </button>
                        <ul class="dropdown-menu">
                            @foreach (var nodeInfoContract in Model)
                            {
                                <li><a href="javascript:void(0)" onclick="showConfig(this, '@nodeInfoContract.Name', '@nodeInfoContract.NodeType')">@nodeInfoContract.Name | @nodeInfoContract.NodeType</a></li>//
                            }
                        </ul>
                    </div>
                    <div id="config_container" style="display: none">
                        <form id="common_config_form" class="config-form" data-parsley-errors-messages-disabled="true">
                            <div class="panel panel-default panel-body">
                                <div class="panel panel-default panel-collapsible optional-config">
                                    <div class="panel-heading">
                                        <h4 class="panel-title">
                                            <a data-toggle="collapse" href="#actors" class="btn-block collapsed">Акторы</a>
                                        </h4>
                                    </div>
                                    <div id="actors" class="panel-collapse collapse">
                                    </div>
                                </div>
 
                                <div class="panel panel-default panel-collapsible">
                                    <div class="panel-heading">
                                        <h4 class="panel-title">
                                            <a data-toggle="collapse" href="#registration" class="btn-block collapsed">Регистрация</a>
                                        </h4>
                                    </div>
                                    <div id="registration" class="panel-collapse collapse">
                                    </div>
                                </div>
 
                                <div class="panel panel-default panel-collapsible optional-config ">
                                    <div class="panel-heading">
                                        <h4 class="panel-title">
                                            <a data-toggle="collapse" href="#container" class="btn-block collapsed">Пути контейнеров</a>
                                        </h4>
                                    </div>
                                    <div id="container" class="panel-collapse collapse">
                                    </div>
                                </div>
 
                                <div class="panel panel-default panel-collapsible optional-config">
                                    <div class="panel-heading">
                                        <h4 class="panel-title">
                                            <a data-toggle="collapse" href="#task" class="btn-block collapsed">Задачи</a>
                                        </h4>
                                    </div>
                                    <div id="task" class="panel-collapse collapse">
                                    </div>
                                </div>
                                <input type="submit" class="btn btn-default" value="Применить"/>
                            </div>
                        </form>
                        <div class="panel panel-default panel-collapsible optional-config">
                            <div class="panel-heading">
                                <h4 class="panel-title">
                                    <a data-toggle="collapse" href="#filter" class="btn-block collapsed">Фильтры исходящих документов</a>
                                </h4>
                            </div>
                            <div id="filter" class="panel-collapse collapse">
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
Ну а основной плюс, что б0льшая часть логики пишется на удобном языке (я даже говорить не буду на эту тему, нужно пробовать, лучше 1 раз увидеть, чем 100 услышать), всякие там LINQ, типизированность и т.п. JS даже сравнивать бесполезно.
1
8 / 8 / 3
Регистрация: 20.05.2012
Сообщений: 174
09.06.2016, 16:58
Цитата Сообщение от Olegg95 Посмотреть сообщение
А расскажите пожалуйста, чем именно c# комфортней
Мне он больше нравиться отсутствием всяких звёздочек/долларов/собычек и прочего, что есть во front'е и отвлекает внимание. Плюс C#, как правило, подразумевает Visual Studio, что в свою очередь удобный, на мой взгляд, "текстовый редактор" со своими фишками
1
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
09.06.2016, 17:19
Olegg95, Нельзя сейчас быть просто "фронт-ендером" или "Дот нэт программером". Надо знать несколько языков и технологий, особенно, если они тесно связаны. Для веб-программера на ASP.Net знание разметки HTML, таблиц CSS, JavaScript, jQuery и прочего также необходимы, как и C# с дополнительными модулями и библиотеками.... И да, требование знать спецификацию SQL конкретной БД никто не отменял...А ещё желательно знать C++...некоторые вообще на ASM`e вставочки делают. Иногда есть смысл к Python`у обращаться.

Добавлено через 5 минут
а ещё есть (из того, что лично мне пришлось использовать в дополнение к C#) LUA (дополняем программу скриптами), VisualBasic (слава богу давно и не правда), Pascal (вшит в программу создания инсталляторов) в общем есть где развернуться.
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
09.06.2016, 17:26
aquaMakc, хз. LUA нигде не встречал, а вот powershell везде и всюду
0
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
09.06.2016, 17:30
Psilon, было у моих коллег желание иметь возможность расширения функционала программы самописными скриптами без перекомпиляции основного приложения. LUA очень красиво подошёл, можно было код прямо в текстовом поле внутри программы на выполнение запускать.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
09.06.2016, 17:40
aquaMakc, хз, для меня LUA это язык для всяких war3editor и прочих Хотя конечно разница между ними небольшая. Но все же полноценное ООП и поддержка дуднета решают. Я в свое время писал целую систему скриптов, каждый из которых являлся маленьким компонентом, но их сотни и формировали каркас этой структуры. И там было все, включая отправку HttpWebRequest'ов, парсинг ответа с помощью StreamReader'ов и прочая петрушка Как бы я реализовывал https SOAP-запросы с сертификатом в LUA я честно говоря не представляю.
0
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
09.06.2016, 17:57
Цитата Сообщение от Psilon Посмотреть сообщение
Как бы я реализовывал https SOAP-запросы с сертификатом в LUA я честно говоря не представляю.
) во-первых, LUA не для этого предназначено. В моём случае скрипты задавали контекст и последовательность выполнения предоставляемых основной программой инструментов.
Например, в программе определён метод Connect, из скрипта можно было его выполнить, задав IP и адрес порта. Точно также, вызывались/закрывались заранее предопределённые окошки, события основного приложения вызывали функции скрипта, чтобы тот мог принять решение и вызвать другой метод основного приложения и т.д.
Грубо говоря LUA определял сценарий работы программы.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
09.06.2016, 18:10
aquaMakc, по описанию похоже на cucumber
0
4 / 4 / 1
Регистрация: 12.11.2010
Сообщений: 87
11.06.2016, 20:21  [ТС]
Подскажите пожалуйста ещё. А вот по сравнению с php, c# на много дольше учится?
0
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,291
12.06.2016, 03:48
Olegg95, PHP позволяет только веб-приложения писать, на C# же можно писать и настольные приложение, и сервисы и веб-приложения и всё-всё. Так, что да, дольше.
1
141 / 117 / 26
Регистрация: 07.12.2014
Сообщений: 371
12.06.2016, 09:31
Olegg95, проблема не в том, чтобы выучить язык. Любой язык +- учится недолго до какого-то минимально уровня понимания. Проблема научиться писать приложения. Так что лучше выбрать один язык с понятными фреймворками(C# хороший вариант). Когда вырастешь как программист выучить новый язык станет совершенно не проблемой
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
12.06.2016, 13:06
Цитата Сообщение от Vigelforts Посмотреть сообщение
Когда вырастешь как программист выучить новый язык станет совершенно не проблемой
Ну я бы не сказал
Конечно, сначала кажется, что язык выучить изи, и это так.
Но потом оказывается, что никому не важно, знаешь ли ты язык, если ты не знаешь стек технологий. Для C# это кроме самого языка библиотека стандартных классов/WCF/WPF/ASP.Net/MVC/MSSQL/PowerShell, плюс для веба стандартные vanillaJS/jQuery/html/css, плюс зачастую всякие фреймворки а-ля nodeJS/bootstrap и компания.

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

Причем если речь идет о мобильной разработке, то ко всему этому добавляется андройд/iOS, в случае написания на шарпе нужно еще и Xamarin знать... Так что для того, чтобы писать на каком-то языке (любом, в PHP тоже триллион всяких фреймворков, Которые нужно знать), на изучение собственно языка уходить очень мало времени.

Именно поэтому более-менее опытные разработчики очень редко переходят с одного языка на другой. Просто потому что кроме изучения самого языка нужно изучать триллион и один способ сделать то же, что и в старом языке, но слегка иначе переставив буковки.
1
141 / 117 / 26
Регистрация: 07.12.2014
Сообщений: 371
12.06.2016, 13:13
Psilon, ну на Java да, перейти сходу трудно. Мне в своё время один maven мозг взорвал))Ну я так просто по своему опыту скажу, что когда нужно было переезжать с десктопа(WPF) на web то с веб стеком Angular2/TypeScript/bootstrap/SystemJS и т.д. проблем особо не возникло. Ну пришлось конечно Флэнагана в оригинале прочитать чтобы в JS и JQuery не потеряться, но прям уж сильных проблем не испытал.Но с другой стороны web не настолько сложен как стек серверный. Наверное, переезд java полноценный создал бы определённые трудности
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
12.06.2016, 13:45
Vigelforts, смотря что на нем делать)) визитки в сравнении с бекендом банка несложные, согласен))
0
4 / 4 / 1
Регистрация: 12.11.2010
Сообщений: 87
22.06.2016, 00:17  [ТС]
Ух. Я как прочитал ваши ответы, то лучше мне заниматься дальше фронт эндом. Что б усвоить такое огромное количество информации нужна очень крепкач механическая память. Мне запоминание даётся не очень хорошо. Учусь медленно. Поэтому чем больше стек технологий необходимых, тем хуже для меня. Проще себя в узком направлении реализовать. Вообще мне кажется, что для программиста необходимо обладать очень прочной памятью, что бы столько учить
0
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
22.06.2016, 09:07
Цитата Сообщение от Olegg95 Посмотреть сообщение
Проще себя в узком направлении реализовать.
Узкое направление опасно тем, что с развитием технологий и "моды" на те или иные решения или практики такие направления имеют свойство закрываться быстро и решительно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.06.2016, 09:07
Помогаю со студенческими работами здесь

Требуется Front - end / верстальщик (Москва или удаленка)
Требования к кандидату: Хорошее знание HTML , CSSопыт кроссбраузерной разработки, знание особенностей браузеров, понимание принципов...

Web-разработчик (back-end, front-end), Москва
Крупнейшая меховая компания в Европе ELENA FURS в поиске талантливого разработчика. (Москва, м. Фрунзенская) Ищем специалиста, который...

Передать картинку с back-end to front-end
пытаюсь с сервера передать и отрисовать картинку на front: читаю так: @Override public List&lt;Car&gt; getCars() { ...

Программист-разработчик (Углубленный back-end + базовый front-end) ЗАО "Вычислительные силы"
Программист-разработчик (Углубленный back-end + базовый front-end) ЗАО «Вычислительные силы» Уровень зарплаты ...

Front end vs Back end
Доброго времени суток. На данный момент изучаю бек енд, знаю основы php, MySql, ООП. Сейчас пробую разбираться с фреймворком Yii2. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru