Как соотносятся скриптовые и объектно-ориентированные языки программирования?

Собственно сабж.


Может быть, достаточно глупый вопрос, но тем не менее, понял что не могу понять соотношения скриптового языка и объектно-ориентированного. Вот, допустим, есть язык Groovy. Он является ООП языком, и при этом может использоваться как скриптовый. То же самое — PHP(язык изначально скриптовый, но поддерживает ООП). Что же это значит, растолкуйте пожалуйста?


Как это дело понимаю сейчас я: ООП язык, в нем все мыслится объектами и классами этих самих объектов. А скриптовый — это когда инструкции языку задаются сразу, и они интерпретируются по ходу. То есть можно не создавать классов, методов, а сразу писать по ходу программы инструкции, которые будут преобразовываться. Так как же тогда может это все укладываться в рамки одного языка? В моей голове сложилось(видимо неправильное) противоречие. Ведь если в ООП языке все мыслится классами, то почему тогда можно писать сразу инструкциями, минуя классы и методы?

Языки   программирования    

448   4   04:59, 27th August, 2020


Изменение разрешения VNC сессии в linux

Я использую VNC для подключения к рабочей станции Linux на работе. На работе у меня есть 20-дюймовый монитор, который работает в 1600x1200, а дома я использую свой ноутбук с разрешением 1440x900. Если я настрою vncserver на работу в 1440x900, я упущу много места на своем мониторе, тогда как если я настрою его на работу в 1600х1200, он не поместится на экране ноутбука, и мне придется прокручивать его все время.

Есть ли какой-нибудь хороший способ изменить размер сеанса VNC на лету?

Мой сервер VNC-это RealVNC E4.x (я не помню точную версию), работающий на SuSE64.

linux   vnc    

1897   15   04:56, 27th August, 2020


Раздача интернета по WiFi с iMac/OS X на PC/Vista?

На кухне стоит мак, у жены в комнате ноут.

Провод с локалкой воткнут в мак.

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

Как сделать мак обычной точкой доступа? чтобы винда, сволочь, при включенном маке всегда подрубалась к маку и юзала инет.

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


Заранее спасибо за помощь.

Wi-Fi   macOS    

305   3   04:46, 27th August, 2020


Аутсорсинг vs собственные руки

Друзья, это скорее не вопрос, а просьба поделиться опытом. Мне нужно провести ряд работ, которые ни я, ни мои коллеги раньше не делали. Для примера, это может быть:
— поиск и написание интересного тематического контента на тему фотографии на сайте
— оформление группы в контакте
— написание грамотных sales latter
и др.
Есть две альтернативы.
1. Попробовать разобраться самому / с коллегами, набить собственные шишки, стать экспертом в этом деле, Минусы — потратить кучу времени и, возможно, сделать хуже, чем другие
2. Договориться об аутсорсинге со специалистами, которые этим занимаются. Минусы — потратить больше денег, и, возможно, попасться на развод или некачественную работу.
Ясно, что это зависит от конкретной ситуации, но интересует ваш опыт, кто как и в каких случаях делает.

Аутсорсинг    

343   7   04:44, 27th August, 2020


Наиболее эффективная реализация класса большого числа

При выполнении вычислений на очень больших числах, где целочисленные типы данных, такие как double или int64, не подходят, может потребоваться отдельный класс для обработки таких больших чисел.

Кто-нибудь хочет предложить эффективный алгоритм, как лучше всего это сделать?

language-agnostic   bignum    

503   5   04:42, 27th August, 2020


Изменение даты создании файла — Как проследить? (Windows)

Записывается ли такое где-нибудь в системе?

Могут ли контролирующие органы при изъятии компьютера подложить компромат с датой создания более ранней чем дата изъятия? И если да, можно ли доказать факт подлога?

Веб-разработка   +1   ещё    

361   2   04:29, 27th August, 2020


Хабр открывается строго со второго раза у меня на мобильнике. Это я такой?

Причём, неважно, какое соединение, будь то скоростной 3g(2 мбит\с) или гнилой подвальный GPRS (24 кбит\с), всегда именно со второго. даже если телефон использовать как модем для ноутбука, на ноуте тоже со второго раза. Причём заметил странную особенность: такая билиберда с открытием происходит один раз в сессию. т.е., если сессия открыта и хабр я уже открыл, то дальнейшие его открытия будут происходить с первого раза. а если потом разорвать gprs сессию и на свежеподнятой попытаться открыть хабр, то увы — со второго раза…


PS: MTS Беларусь, Минск, Nokia 5730

Хабр    

309   3   04:26, 27th August, 2020


Есть ли способ вызвать закрытый метод класса из экземпляра в Ruby?

Кроме self.class.send :method, args..., конечно. Я хотел бы сделать довольно сложный метод доступным как на уровне класса, так и на уровне экземпляра, не дублируя код.


UPDATE :

Бранам: это было мое предположение, но я хотел убедиться, что никто другой не нашел обходного пути. Видимость в Ruby сильно отличается от таковой в Java. Вы также совершенно правы, что private не работает с методами класса, хотя это объявит частный метод класса:

class Foo
  class <<self
    private
    def bar
      puts 'bar'
    end
  end
end

Foo.bar
# => NoMethodError: private method 'bar' called for Foo:Class

ruby   scope   visibility   class-method   access-specifier    

575   7   04:20, 27th August, 2020


Ant в задач бросает StackOverflowException

Я пытаюсь скомпилировать более 100 java классов из разных пакетов с чистого листа каталог (без инкрементных компиляций), использующий следующие задачи ant:

<target name="-main-src-depend">
    <depend srcdir="${src.dir}" 
            destdir="${bin.dir}" 
            cache="${cache.dir}"
            closure="true"/>
</target>   

<target name="compile" depends="-main-src-depend"
        description="Compiles the project.">

    <echo>Compiling</echo>

    <javac  target="${javac.target}"
            source="${javac.source}"
            debug="${javac.debug}"
            srcdir="${src.dir}"
            destdir="${bin.dir}">
        <classpath>
            <path refid="runtime.classpath"/>
            <path refid="compile.classpath"/>
        </classpath>
    </javac>
</target>

Однако при первом запуске задачи компиляции я всегда получаю StackOverflowException. Если я снова запускаю задачу, компилятор выполняет инкрементную сборку, и все работает нормально. Это нежелательно, так как мы используем CruiseControl для выполнения автоматической ежедневной сборки, и это вызывает ложные сбои сборки.

В качестве решения quick-and-dirty я создал 2 отдельные задачи, компилируя части проекта в каждой. Я действительно не думаю, что это решение будет работать, поскольку в будущем будет добавляться больше классов, и я не хочу добавлять новые задачи компиляции каждый раз, когда мы попадаем в "compile limit".

java   ant    

497   6   04:19, 27th August, 2020


MSSQL и php.ini mssql.textlimit

Ситуация такая:
в базе лежат картинки в base64 в поле типа text
при получении поля из пхп обычным запросом — поле с картинкой обрезается до 4096 байтов.
Как получить поле нормальной длинны?
Установил в php.ini

mssql.textlimit = 2147483647
mssql.textsize = 2147483647

— не помогает…
Еще находил такое решение:

$q = $db->query ('SET TEXTSIZE 2147483647');
$q->fetchAll();
ini_set ('mssql.textlimit' , '2147483647');
ini_set ('mssql.textsize' , '2147483647');
$q = $db->query("select CONVERT(TEXT, img) from [shop].[dbo].[news_image] WHERE id = $id");
$res = $q->fetchAll();


— результат тот же — возвращается только 4096 байт, т.е. нач. часть картинки.

Сталкивался ли кто нибудь с таким и как решал?
Сейчас решено хранимой процедурой которая собирает все в темповую таблицу и возвращает, а потом скрипт склеивает строки — ну это решения мягко говоря мне не очень импонирует :)

PHP   SQL   Server    

354   2   04:18, 27th August, 2020