Grundsätzlich halte ich die Auswahl der Programmiersprache für zweitrangig. Es ist schon mitentscheidend, was die Sprache für einen Overhead hat, aber der wird häufig kompensiert durch Entwicklungstools, die Syntaxüberprüfung bieten oder in CASE-manier die lästigen Kleinigkeiten erträglicher machen.

Wichtig ist, daß man sich Verfahren der Systemanalyse und Umsetzung in Algorithmen aneignet. Das geht mit jeder Sprache.

Für kleinere Projekte kommt man sicher ohne Objektorientierte Strukturen aus, da ist der Overhead teils aufwendiger als der eigentliche Algorithmus. Bei komplexeren Anwendungen dreht sich das ganze dann: Die Objektorientierte Struktur macht das Projekt letztendlich erfaßbarer und besser zu warten. Als Rechenleistung noch ein Faktor war, und demzufolge Software noch verstärkt in Assembler oder Assemblernahen Sprachen wie C programmiert wurde, stand OO noch nicht zur verfügung, und dennoch konnte an sich alles realisiert werden, was heutzutage auch geht. Das größte Problem war damals parallelisierung von Entwicklungsarbeit. Ohne fest definierte Schnittstellen und Strukturen ist ein immenser Aufwand nötig um mehrere Entwickler in einem Projekt zu koordinieren.

Da Entwicklungszeit heutzutage einer der kritischsten Punkte der Entwicklung ist, kommst du in keinem Fall um Objektorientierung drumherum, wenn du dich beruflich damit auseinandersetzen willst.