Нужен совет/информация по IT

Решение нашей компании написано полностью на Ява.
Стоит оно “сто-тысяч миллионов”.

Например, вы напишете на рнр такое?
http://s42.radikal.ru/i098/1008/e7/1d91a3a3fe0b.jpg

Соединяя устройства - кабели подхватываются в системе. Переключая статус порта, система дает сигналы оборудованию и оно отключает порт.
Если порт “перегорел” то система определяет это по сигналу с оборудрования. Дает е-мейл или смс ответственному. Перепланирует сетевую инфраструктуру меняя рауты, включая дополнительное оборудование и т.д.

То есть то, что Вы сейчас написали не было сравнением php и Java в пользу второго? :wink:
Я не говорю, что php и Java одинаковые. У них есть свои области применения, которые иногда пересекаются. И именно там их и можно сравнивать по производительности, по быстроте разработки, по качеству и читабельности кода и т.д.
Наверняка есть такие задачи, которые на php не решишь. Вполне вероятно, что приведенная Вами как раз такой и является. Я не могу судить так глубоко.

Почему же не сравнение.
Все работает через браузер, выглядит как обычная веб страница.

Ява нужна там, где нам нужны действия на стороне клиента. Конечно можно использовать Яваскрипт или флеш.

Какие из операционок Linux нужно знать сетевику ? и с какой лучше начать ?
Debian, SuSe, RedHat, ASP, ALT, Slakware - эти самые ходовые на сколько я понял.

Начать лучше с того названия, которое Вам больше понравилось. Все равно Вы не будете на этом сидеть до конца жизни - пересядите на другое.
Linux - это ядро операционной системы. Набор функций в разных может отличаться, но базовые команды консоли будут одни и те же. Пример: в Debian программу можно запустить командой invoke-rc.d <программа> start, а в Red Hat service <программа> start. Тем не менее, содержимое папки в каждом Linux дистрибутиве смотрится командой ls. Кстати, разработчики частенько любят компилировать некоторые программы по-разному, поэтому некоторые флаги могут отличаться. Еще хороший пример - текстовые редакторы. Мне одно время очень нравился joe, но потом я стал пользоваться nano, потому что он есть в большем количестве дистрибутивов. Различий много, но и сходств не меньше.

P.S. Вы еще забыли про Ubuntu, Mandrake, CenOS. А со Slackware я бы Вам начинать не советовал =) Как и с Gentoo.

А почему такой фокус на Linux’ах?
Большинство моих знакомых админов предпочитает использовать в “корпоративных” сетях FreeBSD - для почтовиков, рутеров, веб-серверов, разумеется в не очень больших корпорациях.

Я бы предостерег от использования php не по назначению, не лучший это выбор для изучения ООП.

1 симпатия

Как уже тут отметили, + IP телефония. Сам планирую сильно в этом направлении начинать думать, т.к. это модно и новые инсталляции будут выглядеть только так.

Все что Вы перечислили имеет такую глубокую специфику (безопасники - это вообще отдельная в себе каста, ближе к консалтингу и пресейлу даже), что все знать невозможно. Можно даже не пытаться. Да, можно и нужно иметь общее представление, а после специализироваться и налегать на то что более востребованое или к чему душа лежит (тут уж что в приоритете). Как я понял, “многостаночники” в Америке не в почете, если говорить про серьезные позиции, т.к. они справедливо не верят что один человек может знать все одновременно на A+ уровне.

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

По поводу виндовса: разницу между 2003 и 2008 может точно разложить по полочкам какой-нибудь гуру (MSCE или как там оно называется), да и то не каждый. Система - это не какой-то мега девайс, в ней все зависит от софта, который как и в линусах в целом то один и тот же, с вариациями версий. Для виндовса курите книжки по АД, если хотите заниматься системным администрированием, поддержкой корпоративной сети, юзеров и принтеров. Там это основное. После этого по значимости идет только ISA, Exchange и MSSQL.

В общем, тут главное начать :slight_smile: Дальше уже на конкретном месте разберетесь.

1 симпатия

Потому что Linux востребованней. А зная Linux на нормальном уровне, пересесть за FreeBSD будет не особо тяжело. Я так думаю, сам не пересаживался и не собираюсь :stuck_out_tongue:

А что значительно лучше для изучения ООП? И, главное, почему?

Java. Простой язык. Очень много инфы в инете. Это изначально ООП язык, ПХП же впоследствии был сделан ООП (тоесть он не турли ООП).

C был изначально не ОО язык. Позже в него была добавлена поддержка ООП и он стал ОО языком, получив при этом новое название - C++. То есть C++ тоже не “тру” ОО язык?
При том, что Java достаточно простой язык (php тоже прост, в чем разница - мне не понятно), в контексте ее технологий есть очень много новых терминов и аббревиатур, которыми действительно трудно оперировать. Вот начинать программировать на Java я “бы” не стал и “действительно” не стал. В последствии - возможно.
Слышал также мнение о том, что Ruby неплох в контексте ООП.

Не совсем так, С++ отличается от С. Это не просто С с классами. И да, я считаю С++ не трули ООП языком (есессно мое личное мнение).
Разница в том, что жава и трули ООП и простой, в то время как РНР только простой. Опять же не считаю РНР трули ООП, опять же сугубо личное мнение :slight_smile:

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

Про руби ничего не скажу, незнаю, возможно :slight_smile:

Вы программируете на C++? На каком уровне?
Вы программируете на php? На каком уровне?
Вы программируете на Java? На каком уровне?

Разница между личным мнением и обоснованным мнением в наличии аргументов. Именно их неплохо было бы привести.

P.S. ОО - объектно ориентированный. ООП - объектно ориентированное программирование. Как мне расшифровать фразу “не считаю РНР трули ООП” - “не считаю РНР трули объектно ориентированное программирование”?
P.P.S. То есть, по Вашему, для того, чтобы быть объектно ориентированным языку необходимо сразу иметь поддержку ООП? Сходу? А если вначале разрабатывается базовый синтаксис, а потом поддержка ООП, то он уже не “тру”? А как тогда удовлетворить Вашему условию - разработать ОО язык за 1 день? Объясняю. Если Java изначально и задумывалась объектно ориентированной, то это не значит, что в нее сразу же была заложена необходимая фунциональность. И, естественно, делалось это не за 1 день. Когда Бьерн Страуструп разработал поддержку ООП в С, то точно так же можно сказать, что он разработал новый язык, позаимствовав синтаксис из С. В чем тогда разница?
P.P.P.S. Каким критерием должен вообще обладать язык, чтобы быть ОО? Поддерживать функционал ОО, верно? В чем тогда разница был ли изначально он таковым задумал или нет?
P.P.P.P.S. Объектно ориентированный язык тот, который позволяет применять способы и методы ОО стиля программирования.

Я программирую на жава на уровне программиста, на остальных, приведенных вами, я не программирую вообще.

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

Не надо скатываться в буковоедство, вы прекрасно поняли, что я хотел сказать.

Нет, по моему, чтобы стать трули ОО языком, надо именно быть разработанным как ОО.

В том то и дело, када жава разрабатывалась, она делалась как ОО язык (изначально тоесть), и она all about it.

Я не писал ни каких условий, вы их сами выдумали и сами же их опровергаете :slight_smile:

Еще раз, да С++ это ОО язык, но по моему скромному мнению это не трули ОО язык, выше я описал почему.

Категорически согласен :slight_smile:

Кое-что уже начинает проясняться.

Какие еще языки Вы считаете “трушными”, кроме Java?

Конечно понял, но “как-то не аккуратненько” (С)

Да, но С++ был разработан, как ОО язык, тем не менее таковым его Вы не считаете.

А что это принципиально поменяло? Что дает изначальная разработка под ОО, что не может дать добавление функционала в существующий язык?

Из тех языков, с которыми я знаком таких больше нет.

Да, но он позволяет писать в нарушении ООП. Это главное.

С++ разрабатывался так, чтоб было возможно все то, что было возможно в С. Тоесть хоть С++ изначально и задумывался как ОО ЯП, он все же, позволяет писать в С стиле (модульное, функциональное программирование). Тоесть Жава задумывался как чисто ОО ЯП. С++ же задумывался как ЯП поддерживающий модульное, фунциональное и ОО программирование. Главное, это невозможность писать не в стиле ООП. Тоесть если завтра, какимто магическим образом жава станет поддерживать фунциональное программирование, она для меня перестанет быть трули ОО ЯП.

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

Ну уже совсем покатились в дебри далекие от тематики работа в США :slight_smile:

Попытайтесь с помощью Googla найти:

[ol]
[li]определение ООП
[/li][li]что должен поддерживать ОО язык программирования
[/li][li]что из вышеперечисленного поддерживает тот или иной язык.
[/li][/ol]
Языки, поддерживающие все особенности ООП - трули ООП; поддерживающие не все - не трули ООП. Думаю, результат анализа на трульность/нетрульность может сильно удивить в плане зависимость “трульность vs применимость”.

P.S. Предвидя Ваш вопрос: “а ты на чем программируешь?” (“а ты кто такой?”).
Программировал на: Pascal/Delphi; С++; Visual Basic; PHP; JavaScript. Во всех этих средствах есть возможность мутить с объектами :wink:

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

Вы говорили, что другие языки позволяют программировать в нарушение концепций ООП. Какие именно концепции они нарушают? Чем возможность программировать в другом стиле влияет на реализацию ООП в языке? И самое главное - не путаете ли Вы концепции ООП и стиль программирования, присущий Java-программистам? Я к тому, что это разные вещи и то, что исповедует Java далеко не является исключительно верным.
Вы говорили, что считаете трушными языками те, которые разрабатывались, как ОО. Вы считаете, что таких языков, кроме Java не существует? Почему Вы их считаете не трушными?

Не очень понимаю что есть “мутить с объектами”, но моя идея примерно в том и состоит, что Вы написали.
Если язык поддерживает функционал ООП в полной мере - он тру. И не важно создавался он как ОО или нет.

Я с вами согласен.

По моему таких задач вагон и тележка.

Глобальные переменные.

Ничем.

Согласен.

Нет, я считаю трушными ОО ЯП те, которые разабатывались как чисто ОО ЯП и таковыми остались (тоесть остались такими, что не в стиле ООП писать в них неестественно).

Перестаньте :slight_smile: Я не говорил такого. Я сказал, что я не знаю таких.

Потому, что в них легко писать в нарушение концепций ООП (использовать глобальные переменные, функции).