LINUX.ORG.RU

Фреймворки...


0

0

Народ, объясните мне, что такое framework? In general, так сказать? Я вот пробовал копаться в Struts, нифига не понял что это и для чего. Потом есть всякие зопы, рубиновые рельсы, для perl тоже что-то есть... А то я чувствую что здорово отстал от жизни, воспринимая всё программирование в терминах "библиотеки функций" и "библиотеки классов".


Ответ на: комментарий от BottleHunter

В целом этот термин сменил другой, менее удачный маркетинговый термин "платформа".

BottleHunter
()
Ответ на: комментарий от BottleHunter

Хорошо, менее general. Что общего в Struts, Ruby on rails, что-то там для питона на зопе, и что-то там для perl? Чем это принципиально отличается от "библиотек классов"?

Eldhenn
() автор топика

> Народ, объясните мне, что такое framework? In general, так сказать? Я
> вот пробовал копаться в Struts, нифига не понял что это и для чего.
> Потом есть всякие зопы, рубиновые рельсы, для perl тоже что-то
> есть... А то я чувствую что здорово отстал от жизни, воспринимая всё
> программирование в терминах "библиотеки функций" и "библиотеки
> классов".

Вообще фреймворк в классическом понимании - это нечто вроде
"всеобъемлющей" библиотеки (т.е. на все случаи жизни в данной
конкретной нише) + сопровождающие инструменты (например, moc в Qt).
Характерные примеры - J2SE, MFC, VCL, Qt, wxWidgets. Те кирпичики, из
которых можно собрать любую типовую систему с минимальными изменениями.

Однако же нынче фреймворком все чаще называют любую библиотеку
достаточно большого размера.

int19h ★★★★
()

>в терминах "библиотеки функций" и "библиотеки классов"

IMHO: Когда библиотека становится большой и узкоспециализированой для решения такого-то типа задач с использованием таких-то архитектурных решений, её начинают обзывать фреймворком.

DonkeyHot ★★★★★
()
Ответ на: комментарий от Eldhenn

Даничем принципиально. Термин маркетинговый. По сути фрейморком можно назвать почти все что содержит открытый API и несколько относительно независимых компонентов в совем составе, объединенных общей идеей. Например, можно выпендрится и сказать linux framework.

BottleHunter
()
Ответ на: комментарий от int19h

Гм. Ну вот VCL, MFC и Qt я в общем-то понимал, они как раз были ясные. Вот с J2SE и тем более с J2EE хуже. Struts - ещё хуже. То что я читал про Struts напоминало мне известный Hello, world на MFC.

Eldhenn
() автор топика
Ответ на: комментарий от Eldhenn

Как вариант. Другой путь - пока можешь, следует преобретать фундаментальные знания, которые дадут тебе офигенное приемущество перед всякими нарождаюмися и отмирающими кидди. Будешь работать великим программистом хоть до пенсии ...

BottleHunter
()
Ответ на: комментарий от Eldhenn

> WDYMB "фундаментальные знания"

? Наверное это нечто вроде : что ты понимаешь под фундаментальными знаниями ?

Отвечу: фундаметнальное знание - это знание первооснов, "фундамента". Технологии фреймворки, языки программирования и операционные системы приходят и уходят, первоосновы же меняются гораздо реже.

BottleHunter
()
Ответ на: комментарий от BottleHunter

WDYMB это What Do You Mean By :)

Вот и я спрашиваю - о каких именно первоосновах идёт речь? Матлогика с конечными автоматами? Машина Тьюринга? Или хуже того, функиональный анализ?

Eldhenn
() автор топика

А я тебе говорил, что ацтой ты, а не программист. А ты не еврил...

anonymous
()
Ответ на: комментарий от int19h

Не так. Framework - это функциональность + идеология. Библиотека - это только функциональность, которую можно юзать в рамках любой идеологии. Framework всегда навязывает свою идеологию и свои подходы к разработке.

По этой причине, например, PVM3 - фреймворк...

anonymous
()
Ответ на: комментарий от Eldhenn

Лично для себя я выделяю такие ит-шные первоосновы:

Математика:

- Матлогика 
- Дискра
- Теория графов 
- Теория формальных языков 
- Теория алгоритмов
- Тервер
- Оптимизация 
- Численные методы

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

Технология:

- построение компиляторов
- базы данных
- машинная графика   
- ... и т.д.

Опыт:

- умение убеждать людей
- умение грамотно  формулировать свои мысли на бумаге
- ну и т.д. тут продолжать можно достаточно много 

BottleHunter
()
Ответ на: комментарий от anonymous

> Framework - это функциональность + идеология. Библиотека - это только функциональность, которую можно юзать в рамках любой идеологии.

Тут грань чрезвычайно зыбкая. Рискуем затронуть известный фаллософский вопрос о переходе количества в качество

BottleHunter
()
Ответ на: комментарий от BottleHunter

Угу. Это всё конечно замечательно, но денюжку платят не за тервер, а за программирование на java/php, в лучшем случае perl

Eldhenn
() автор топика
Ответ на: комментарий от Eldhenn

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

BottleHunter
()
Ответ на: комментарий от BottleHunter

>Например у меня знакомый программит игровые автоамты, там вероятностные модели очень применимы...
Представляю, какие там вероятности выигрыша...

seiken ★★★★★
()
Ответ на: комментарий от BottleHunter

А ты сам в какой сфере работаешь? И часто ли там применяются "фундаментальные знания"? Да, и последний вопрос - давно ли работаешь?

anonymous
()
Ответ на: комментарий от anonymous

> А ты сам в какой сфере работаешь?

В ИТ. Занимаюсь разработкой транслояторов и методами анализа и оптимизации алгоритмов.

> И часто ли там применяются "фундаментальные знания"?

О да, чувак. В моей области без них никуда.

> Да, и последний вопрос - давно ли работаешь?

На этой работе - 4-й год

BottleHunter
()
Ответ на: комментарий от anonymous

> Кодеру фундаментальные знания не особо нужны, а вот проектировщику они необходимы.

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

BottleHunter
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.