Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.



 
ФорумПоследние изображенияПоискРегистрацияВход

Поделиться | 
 

 Пред тремя дорогами.

Предыдущая тема Следующая тема Перейти вниз 
АвторСообщение
vinni
МатЧатовец
vinni

Мужчина Сообщения : 13
Зарегин : 2011-10-01
Возраст : 36

Пред тремя дорогами. Empty
СообщениеТема: Пред тремя дорогами.   Пред тремя дорогами. I_icon_minitimeСр Ноя 02, 2011 9:21 am

(Перенесено Админом)
Приходится выбирать начинающему кодеру, что собственно изучать? В ВУЗах любят подсаживать молодое поколение на такие языки как C++ или DELPHI. В Колледжах же могут и на VBasic направить, а в школах о программирование лишь рассуждают на теоретических основах, а все остальное время мулюют рисунки или строчат тексты в Worde, дабы было чем заняться. А как же быть человеку, решившему вплотную заняться кодерством? Если идти по тем дорожкам, по которым нас направляет наше образование, то далеко не убежишь - в лучшем случае научишься ваять математические примерчики с последующим выводом результата на экран , в худшем -забросишь на хер всю мудистику программирования. Лучшие программисты России обрели такой статус не благодаря системе нашего(нынешнего) образования, а своему великому желанию изучать. И слава Богу, что в рунете есть сайты, дающие огромные перспективы молодому поколению на пути тернистом. Так что плясать придеться именно от желания.
Для начала нужно "разделить" программистов на касты. Самая толстая каста прикладников среднего уровня умеет писать небольшие программки, бегать по форумам с видом "Докторов наук" и поигрывать в игры, прокачивая очередного орка. Далее каста любителей, которая программирует не для зарабатывания денег(Впрочем одно другому не мешает), а для удовлетворения собственного любопытства. Своего рода - Энтузиасты. На пике всего этого народа вздымается небольшая кагорта людей, посвятившая свою жизнь этому делу. Настоящие профи, обрекшие свою жизнь на сидячий образ перед ПК. Кем из них хотите стать вы, зависит лишь от вас и ваших привычек. И так, считайте это эпиграфом.

Выше или Ниже.

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

Языки высокого уровня (ЯВУ) можно описать как дом, строящийся из плит, а языки низкого уровня - из кирпичей. В чем собственно разница? Конечно же в скорости строительства. Попробуйте эдакую бандуру из девяти этажей состроить из кирпичиков. Заеб..В общем устанете.
ЯВУ позволяет в кратчайшие сроки создать нехилый проект с отличным функционалом и красивым дизайном. Тут не потребуется сидеть и пыжиться над тем, как выравнять стек или куда лучше сдвинуть байты. Не нужно знать, почему процессор делает именно так, а не как иначе, да и вообще о процессоре как таковом можно вовсе не знать. ЯВУ предоставляет готовые компоненты, функции, формы, библиотеки и т.д., за вами лишь остается выбрать что-то из этого ассортимента и подцепить к вашему проекту. И будет работать. Плевать на скорость исполнения кода, ведь на современных процессорах можно гонять монстров в 4-6 гигабайтов и не замечать, что они тормозят. Какие там к черту расходы памяти, когда двух-ядерные камни перемалывают любой код и не давятся, когда оперативная память начинает по объему догонять винчестеры, а видео карты в 2-4 гигабайта вовсе плюют на все капризы графики и отменно все исполняют? Ещё Высокоуровневые языки можно сравнить с книгой, которую пишет писатель, но не обычным способом, а выборкой. То есть предлагаются какие то фразы, а из них собственно и строится последующий сюжет. Быстро и функционально. Это пожалуй главный плюс ЯВУ, имеющий успех в экономическом и трудо-экономном сигментах.
Другое дело - низкий уровень. Тут за вами подтирать попец уже ни кто не будет. Здесь полная свобода выбора и вообще хаос. Называется - Делай всё что хочишь, а там посмотрим. Здесь нет заботливых компиляторов, указывающих на ошибку, нежно подсвечивая онную любым оттенком радуги. Нету форм, на которые вы легким движением мыши можете закинуть любой компонент и описать его свойства, методы и поведенее вообще. Строчка - print('Hello World'), это своеобразный зверь, которого низкий уровень в глаза не видел и не увидит. Это мир двоичных кодов в перемешку с мнемониками, в котором каждый шаг контролируется самим программистом, а не компилятором (в данном случае линковщиком) в принципе. Вы можете через жопу наперекосяк написать код и он будет работать, вызывая недоумение у прочих "Правильных" программ. Весь язык низкого уровня состоит из пересылки данных из одних ячеек в другие и математических подсчетов. Написать на нём громадный проект потребует от вас половину жизни, если не всю. С другой стороны, программы написанные на низком уровне в разы работают быстрее, поскольку ничего лишнего там нету. Весь ход программирования (повторюсь) вплоть до линковки лежит полностью на программистских плечах и не как иначе. Поняв особенности низкого уровня вы уже будете со смехом смотреть на прикладников, не понимающих, что это за ошибка с номерком вылетела и как её исправить. Для них это другой мир. Низкоуровник смело может брать в руки отладчик и редактор, идти по адресу ошибки и править её, не тратя на это туеву кучу времени. Нету отладчика, есть дампы памяти и т.д. В общем вся китайская граммота для прикладника, есть великая наука для низкоуровника. Защиты, драйвера, математические программы высокой точности и вообще любой код, требующий скорость выполнения и не стандартный подход, пишется именно на низком уровне, тоесть на ассемблере, а порой даже и в машинных кодах.


Пред тремя дорогами. 76333093
Мистический синтаксис Ассемблера, внушающий уважение и страх.

Так к какому сообществу примкнуть новичку и с чего начать своё путешевствие в мир нулей и цифр? С точки зрения программисткого кодекса, кодер просто обязан знать работу процессора. Хотя бы базовые знания. Открыв любую книгу Низкоуровнего программирования вы встретите такие главы как - "Системы счисления", "Машинное представление команд" и прочее. А ведь не зря. Это собственно и является базовым знанием, которое должен понимать любой уважающий себя кодер. Познакомившись с этими знаниями, можно переходить и на высокий уровень, дабы не заниматься самобичеванием и выдумками велосипедов. Все соверменные компиляторы ЯВУ дают возможность вставлять ассмеблерные участки кодов в свои программы. Зачем тратить кучу времени на коддинг окон и прочей графической ерундистики, когда это всё можно сделать с помощью пары кликов мыши? А вот если вычислительная часть программы требует максимум скорости, то Ассемблерные вставки вам помогут. Конечно компилятор вам не позволит вытварять с кодом то, что позволяет транслятор (MASM,FASM,TASM и т.д.), но все же лучше, чем ничего.
Собственно Ассемблер в настоящее время развил собственные среды программирования. Чего только стоит RadAsm, с помощью которого вы можете писать на Асме и любом другом подключенном языке(Компиляторе). Истинные консерваторы конечно же против всех этих затей, предпочитая консольные редакторы и ничего более. Тут решать уже вам.
Подытожим:
ЯзыкиТрудность изученияСкорость разработки Качество и скорость исполнения кода
СИ++,Delphi и т.д.5-9 (из 10) 10 4-8
Assembler 105-7 9-10

Оценки конечно взяты от моего личного опыта и не являются догматом или статистическими данными. Опять же зависит от прямолинейности рук кодера. За основу я взял среднестатистического программиста, владеющего в одинаковой мере и тем и тем языком программирования.
Вернуться к началу Перейти вниз
https://matchat.forum2x2.ru
ferkulius



Мужчина Сообщения : 5
Зарегин : 2014-02-04

Пред тремя дорогами. Empty
СообщениеТема: Re: Пред тремя дорогами.   Пред тремя дорогами. I_icon_minitimeВт Фев 04, 2014 8:44 am

правильный ЯП только один - yaplakal.com
Вернуться к началу Перейти вниз
 

Пред тремя дорогами.

Предыдущая тема Следующая тема Вернуться к началу 
Страница 1 из 1

Права доступа к этому форуму:Вы не можете отвечать на сообщения
 :: Computer Technology :: Coding-