2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки





Начать новую тему Ответить на тему На страницу 1, 2, 3, 4, 5  След.
 
 Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение17.10.2016, 17:59 


06/07/16
17
Подскажите пожалуйста хороший(если можно сделать однозначный выбор в пользу чего то ) низкоуровневый язык для изучения.

И, подскажите как следствие литературу хорошую по такому языку.

Пока я изучаю fortran по программе университета.

До того
Изучил С++ по книге С. Пратта во всех его основах детально.
Знал Паскаль.

Если помимо Fortran найдётся другой язык, то подскажите все же хорошую литературу по изучению fortran, раз уж взялся изучать (думаю, это как никак актуально все же).
Почему то все жалуются что он старый и т п. А мне так не кажется. Хочу детальнее проанализировать возможности языков.

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение17.10.2016, 18:03 
Модератор
Аватара пользователя


09/05/12
10507
Кронштадт
Leon_06 в сообщении #1160554 писал(а):
Подскажите пожалуйста хороший(если можно сделать однозначный выбор в пользу чего то ) низкоуровневый язык для изучения.
Leon_06 в сообщении #1160554 писал(а):
Если помимо Fortran найдётся другой язык,
Кхм... а что, собственно, Вы называете "низкоуровневыми языками"? Если уж Фортран к таковым относится...

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение17.10.2016, 21:21 
Заслуженный участник
Аватара пользователя


30/01/06
62699
Pphantom в сообщении #1160555 писал(а):
Если уж Фортран к таковым относится...

Может, путаница с Фортом? (Forth)

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение17.10.2016, 21:41 
Модератор
Аватара пользователя


09/05/12
10507
Кронштадт
Munin в сообщении #1160636 писал(а):
Может, путаница с Фортом? (Forth)
Их действительно иногда путают, но я не думаю, что на это способен человек, изучающий один из этих языков, а не просто слышавший названия. :-)

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение17.10.2016, 23:12 


20/08/14
2395
Россия, Москва
Предложить изучить С или даже С--? А что, вполне себе низкоуровневые ... Ну не выбирать же один из тысяч ассемблеров. :mrgreen: Хотя если речь именно про ассемблер, то вариантов пожалуй лишь два: x86 и ARM (варианты MIPS и PowerPC широко применимы разве лишь в серверах и суперкомпьютерах, а там ассемблер не при делах).

Leon_06
А если серьёзно, то уточните цель для изучения низкоуровнего языка? Сравнивать его с указанными Вами высокоуровневыми языками смысла нет (у них разные цели создания и оптимизированы они в разных направлениях).

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение18.10.2016, 15:52 
Заслуженный участник


15/05/05
3342
USA
Leon_06 в сообщении #1160554 писал(а):
Подскажите пожалуйста хороший(если можно сделать однозначный выбор в пользу чего то ) низкоуровневый язык для изучения.
Голосую за C (ANSI C) как наиболее универсальный вариант.

Согласно Wikipedia "a low-level programming language is a programming language that provides little or no abstraction from a computer's instruction set architecture -- commands or functions in the language map closely to processor instructions."

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

Т.е. формально это ассемблеры и языки байт-кодов. Основная область применения - системное программирование.

Изучать их "про запас" не советую.


P.S.
Анекдотическое мнение, много лет назад распространенное среди программисток одного обАСУчивающего НИИ:
- программисты высокого уровня пишут на высокоуровневых языках;
- низкоуровневыми языками пользуются программисты низкого уровня.
:shock:

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение19.10.2016, 14:22 


06/07/16
17
Dmitriy40 в сообщении #1160692 писал(а):
Предложить изучить С или даже С--? А что, вполне себе низкоуровневые ... Ну не выбирать же один из тысяч ассемблеров. :mrgreen: Хотя если речь именно про ассемблер, то вариантов пожалуй лишь два: x86 и ARM (варианты MIPS и PowerPC широко применимы разве лишь в серверах и суперкомпьютерах, а там ассемблер не при делах).

Leon_06
А если серьёзно, то уточните цель для изучения низкоуровнего языка? Сравнивать его с указанными Вами высокоуровневыми языками смысла нет (у них разные цели создания и оптимизированы они в разных направлениях).


Ну, вообще вот изучаю я в универеситете, пока по специальности - "физика" на физическом. Но, вторым высшим хочу программирование. Специальности - Мат администрирование информационных систем и Фундаментальная информатика и информационные технологии обучают как описано специалистов очень широкого класса. У них примерно такие области, в которых они могут создавать что то:
Программист;
ИТ специалист;
Системный администратор;
Бизнес-консультант;
Веб-программист;
1С программист;
Сетевой администратор;
Разработчик программ и приложений;
Системный аналитик;
Специалист по сетям и другие.
Системный программист.

Они вроде как обладают очень обширными знаниями, касающихся многих областей.
Вот я и подумал, Что наверняка для этих целей можно и уже изучать материал соответственный. Поскольку С плюс плюс считается гибким и востребованным вроде как объектно ореинтрованным языком, я Его решил хорошо изучить.
И вот столкнулся с изучением языков низкого уровня. Мне разрешено на любом писать, но посоветовали этот Фортран все же следуя программе т.к он эффективен для моделирования процессов сложных, и вообще характеристика языков низкого уровня в том, что они могут "выжать" все из железа но и код писать проблематичнее для такой программы (или как там зовут, все не запомню никак сколько раз уже ...)
Вот и решил что из этих языков низкого уровня можно самый такой выбрать, в соотвествии с целью: разрабатывать разнообразные вещи, интересные, и хорошо работающие, изучать постоянно что то, писать хорошие программы, что могу предложить и придумать исходя из знаний, выбрав, конечно, какую то основную работу, ром простор хотелось бы большой иметь, как в физике или математике, несколько методов и областей знать - специалисты например по квантовой физике могут во многих вещах предложить что то, там много знать нужно. Вроде по вышеперечисленным специальностям я могу так собственно и устроить все это. И обучают для этого конечному числу предметов же (хоть это и долго может быть). Вот и решил взять из всех низкоуровневый язык(-и), который был(-и) бы наиболее хорошим (-и) инструментом(-ами) для разнообразной деятельности. Просто предположил что есть что то более старое/новое, практичное и мощное. Потому понадеялся что кто то укажет на эти знания мне, куда тратить силы что бы чувствовать себя "как рыба в воде" после. Если возможно.

-- 19.10.2016, 14:25 --

Буквально, не знаю как и поступить. Вроде ФИИТ и МАИС хорошие такие специальности, многое можешь сделать. Но, может я чего то упустил ? Но вроде это возможно. А мне очень - очень хочется много знать и интересно, хочется создавать. Возможно ли выбрать что то с соответствующими запросами ?

-- 19.10.2016, 14:25 --

А вот далее специальности не такие, то в железно и физику больше, инженерию или ещё чего то.

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение19.10.2016, 14:33 


07/08/14
1664
Скажите, вы когда-нибудь делали четыре ячейки памяти на логических элементах Российского производства, например, чтобы светодиод загорался не когда ему вздумается, а когда придет определенная последовательность сигналов?

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение19.10.2016, 16:01 


06/07/16
17
upgrade в сообщении #1161086 писал(а):
Скажите, вы когда-нибудь делали четыре ячейки памяти на логических элементах Российского производства, например, чтобы светодиод загорался не когда ему вздумается, а когда придет определенная последовательность сигналов?


Никогда не имел дело с этим, к сожалению !

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение19.10.2016, 16:44 


20/08/14
2395
Россия, Москва
upgrade в сообщении #1161086 писал(а):
Скажите, вы когда-нибудь делали четыре ячейки памяти на логических элементах Российского производства, например, чтобы светодиод загорался не когда ему вздумается, а когда придет определенная последовательность сигналов?
Это к программированию практически (про VHDL/Verilog забудем) не относится.


Leon_06, Вы так и не ответили на вопрос:
Pphantom в сообщении #1160555 писал(а):
Кхм... а что, собственно, Вы называете "низкоуровневыми языками"?
Потому что Fortran точно не является языком низкого уровня. И нигде из вышеперечисленных Вами областей языки низкого уровня не применяются (ну разве что за исключением некоторых разновидностей системного программирования, далеко не всех). Потому осталось непонятным Ваше стремление изучить именно низкоуровневый язык, ведь он всегда более ограничен и специализирован чем высокоуровневый. И всё это прямо намекает на путаницу у Вас в определениях.

Если же Вам нужен кругозор по языкам, то поищите обзоры/сравнения сразу многих языков (например в вики), обратите внимание на существование непроцедурных языков (Лисп, Пролог).

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение19.10.2016, 17:35 


07/08/14
1664
Leon_06 в сообщении #1161111 писал(а):
Никогда не имел дело с этим, к сожалению !

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

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение19.10.2016, 18:16 
Заслуженный участник


06/07/11
3249
Leon_06 в сообщении #1161083 писал(а):
У них примерно такие области, в которых они могут создавать что то:
Программист;
ИТ специалист;
Системный администратор;
Бизнес-консультант;
Веб-программист;
1С программист;
Сетевой администратор;
Разработчик программ и приложений;
Системный аналитик;
Специалист по сетям и другие.
Системный программист.
Это что, название специальностей? Постарайтесь выяснить, что именно входит в их программы, потому что названия в таком виде слишком общие. "ИТ-специалист" - это вообще кто угодно из списка (кроме бизнес-консультанта), "Программист" и "Разработчик программ и приложений" - обычно это названия одного и того же (тут тем более имеет смысл выяснить разницу), "Системный администратор", "Сетевой администратор", "Системный аналитик" и "Специалист по сетям" - это вообще не программисты, "Бизнес-консультант" - не понятно, какое отношение имеет к ИТ. Более-менее понятны только специальности "Веб-программист" и "1С программист", но при виде этих слов мне первым делом приходит в голову анекдот про параолимпиаду по программированию :mrgreen:

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение19.10.2016, 18:38 


27/08/16
1083
Leon_06 в сообщении #1161083 писал(а):
Ну, вообще вот изучаю я в универеситете, пока по специальности - "физика" на физическом. Но, вторым высшим хочу программирование.
И как успехи в изучении физики?
Программирование - это инженерная дисциплина, для его освоения нужна практика, практика и ещё раз практика. Недостаточно прочитать пару книжек о каком-нибудь языке программирования. Если вы от него "торчите" - вы будете программировать хотя бы на своём телефоне, и, заведомо, не будете начинать с "низкоуровневых языков", спрашивая о них тут. И, тем более, плюсы - это не лучший выбор для новичков. Начните с Питона, он сейчас активно используется в научных расчётах и для него наработана куча библиотек. Если же вам это всё не интересно - то зачем вы туда вообще лезете? Чтобы разочароваться?

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение19.10.2016, 22:39 
Аватара пользователя


27/01/09
799
Уфа
Так как под низкоуровневым языком понимается машинозависимый язык (буквально программная модель процессора, режимы адресации, мнемоники команд процессора), то выбор почти единственный: ассемблер процессоров Intel x86 и т.д. в сторону увеличения разрядности (поколений) процессора. Что понимать под возможностями языка? Если вам надо записать в ячейку памяти константу, сложить значения в регистрах (это будет сделано максимально быстро, т.к. не предполагает ничего лишнего), (или понять код сгенерированный компилятором C++) то ассемблер вам поможет - все что может процессор вы можете сделать на ассемблере, но вот например чтобы решить систему линейных уравнений (или вычислить выражение, построить красивый график), вам надо будет записать тысячу-другую инструкций процессору или несколько инструкций на (проблемно-ориентированном) языке высокого уровня - одна инструкция языка высокого уровня это множество инструкций процессору. Одно дело в контроллере зажечь или погасить лампочку в зависимости от положения ключа (можно написать в кодах микроконтроллера), другое дело например провести спектральный анализ сигнала, тут вероятно придется обратиться к языку высокого уровня (который ближе к математическим представлениям людей), а часть критического (часто повторяющегося или однозначного) кода записать для оптимизации по скорости выполнения программы (или например экономии памяти) на ассемблере. Т.е. вычисления следует программировать на Фортране, (программный интерфейс на С++) а элементарные примитивы (которые часто используются) на ассемблере.

 Профиль  
                  
 
 Re: Подскажите хорошую литературу по низкоуровневым языкам.
Сообщение19.10.2016, 22:49 
Заслуженный участник
Аватара пользователя


30/01/06
62699
Leon_06 в сообщении #1161083 писал(а):
И вот столкнулся с изучением языков низкого уровня.

В общем, пока вы даже не понимаете, что означает слово "язык низкого уровня". И пока не поймёте - объяснять вам что-то и давать советы бесполезно.

Fortran - не язык низкого уровня. Всё остальное, что вы пишете, тоже не о том. В частности, фундаментальные знания и низкоуровневое программирование не имеют ничего общего.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 72 ]  На страницу 1, 2, 3, 4, 5  След.

Модераторы: Toucan, maxal, Karan, PAV, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group