Forum: PC-Programmierung Lazarus Pascal / Delphi /FreePascal aktiver als viele denken? EADS, Sony etc


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

W.S. schrieb:
> aber wenn ich den Jörg hier jammern sehe, daß der AD in seiner
> virtuellen Box über mangelndes DirectX klagt,

Ich denke, dass sie da nur irgendwas falsch gemacht haben. Erstens ist 
es keine Virtualbox, zweitens lief es auch bislang (einschließlich allen 
3Ds) schon in VMware, drittens gab/gibt es andere (hier im Forum), die 
auch mit der aktuellen AD-Version in VMware kein Problem haben. Wenn sie 
mir aber erzählen, dass sie angeblich DirectX 10 brauchen, und das 
Microsoft-Tool sagt mir, dass die vorhandene Version 12 oder 13 ist, 
dann ist da irgendwas im Argen, und sie sollten sich als Hersteller 
einfach mal drehen, wenn sie mir das Zeug verkaufen wollen. Danach war 
aber nur Schweigen im Walde.

von Nop (Gast)


Lesenswert?

Karl K. schrieb:

> Das würde ich nicht unterschreiben. Feldadressierung in
> Pascal ist i.d.R. langsam, weil keine mitlaufenden Pointer
> verwendet werden, sondern die Adresse jedesmal explizit
> aus dem Index berechnet wird.

Das könnte der Compiler auch einfach mal besser optimieren, geht in C ja 
auch.

Jörg W. schrieb:

> und sie sollten sich als Hersteller
> einfach mal drehen, wenn sie mir das Zeug verkaufen wollen. Danach war
> aber nur Schweigen im Walde.

Natürlich. Ein nicht reproduzierbares Problem auf einem nicht offiziell 
unterstützten System zu finden, lohnt sich einfach nicht.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nop schrieb:
> Ein nicht reproduzierbares Problem auf einem nicht offiziell
> unterstützten System zu finden, lohnt sich einfach nicht.

Das Ganze läuft auf Windows 7, mit einer DirectX-Version, die höher als 
die vorausgesetzte ist. Dass das eine VM ist, braucht eine 
Anwendungssoftware erstmal nicht interessieren. Es würde mich nicht 
wundern, wenn der Bug genauso gut auch außerhalb einer VM auftreten 
kann. Was dann? Auch ignorieren, Kunde möge sich doch ein anderes System 
zulegen?

: Bearbeitet durch Moderator
von Nop (Gast)


Lesenswert?

Jörg W. schrieb:
> Dass das eine VM ist, braucht eine
> Anwendungssoftware erstmal nicht interessieren.

Sagst Du.

> Es würde mich nicht wundern, wenn der Bug genauso gut
> auch außerhalb einer VM auftreten kann.

Möglich ist vieles. Geld dafür auszugeben, das zu untersuchen, rechnet 
sich aber erst, wenn sich das bestätigt.

Bis dahin bist Du ein Kunde auf einem nicht offiziell unterstützten 
System, und solange Desktoplinux keine nennenswerte Verbreitung hat, ist 
es wirtschaftlicher, auf die paar Kunden einfach zu verzichten, bei 
denen es nicht läuft.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nop schrieb:
> Bis dahin bist Du ein Kunde auf einem nicht offiziell unterstützten
> System

Wo steht das eigentlich, dass das nicht offiziell supportet wäre?

Irgendwo die Prerequisites eines Programmes zu dokumentieren, scheint 
unüblich zu sein – zumindest finde ich bei Altium nichts.

Ist aber auch egal, es zeigt ja nur, dass allein das Programmiersystem 
eben noch lange nicht darüber entscheidet, ob eine bestimmte damit 
verfasste Applikation am Ende wirklich portabel ist oder nicht.

von Nop (Gast)


Lesenswert?

Jörg W. schrieb:

> Wo steht das eigentlich, dass das nicht offiziell supportet wäre?

Das sollte in den Systemanforderungen stehen, wo typischerweise neben 
der erforderlichen Mindesthardware auch irgendwas zu den unterstützten 
OS steht.

> Irgendwo die Prerequisites eines Programmes zu dokumentieren, scheint
> unüblich zu sein – zumindest finde ich bei Altium nichts.

Dann scheint Dein Google-Fu noch im Wochenend-Modus zu sein. Gib mal die 
Stichworte 'altium designer system requirements' bei Google ein. Ich 
sehe da nichts von "Windows in einer VM unter Linux".

von Karl K. (karl2go)


Lesenswert?

Jörg W. schrieb:
> Das Ganze läuft auf Windows 7, mit einer DirectX-Version, die höher als
> die vorausgesetzte ist.

Kann sein, dass AD hier auf einige Hardware DX Funktionen der 
Grafikkarte zugreifen will, die VMware so nicht bereitstellt. Oder die 
Windows zwar in Software emulieren kann, aber das Programm will halt 
Hardware.

Ich musste letztens auch lernen, dass DirectX11 vorhanden nicht heisst, 
dass ein Spiel was DirectX11 fordert damit auch läuft - wenn das Spiel 
auf einige DX Features der Grafikkarte zugreifen will, die diese halt 
nicht bietet weil zu alt. Pech.

Ob das zur Darstellung der Grafik notwendig wäre und nicht auch in 
Software emuliert genügen würde, ist dabei nichtmal die Frage. Wenn es 
so programmiert wurde, weil der Programmierer meint: Sollen sie halt ne 
bessere Grafikkarte kaufen - dann ist das so.

von Maxe (Gast)


Lesenswert?

Nop schrieb:
> und solange Desktoplinux keine nennenswerte Verbreitung hat, ist
> es wirtschaftlicher, auf die paar Kunden einfach zu verzichten, bei
> denen es nicht läuft.
Ist jetzt zwar etwas OT, aber man kann zur Beurteilung ob sich eine 
Linuxversion rechnet, nicht die Einnahmen durch Linuxkunden 1:1 mit den 
Entwicklungskosten vergleichen. Wenn ein Mitbewerber naemlich die Wahl 
anbietet, dann kann einen das letztlich auch Windowsnutzer kosten.

So Offtopic ist das eigentlich auch nicht, die unterstuetzten Platformen 
sind ja gerade die Staerke von FPC/Lazarus.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Karl K. schrieb:
> Kann sein, dass AD hier auf einige Hardware DX Funktionen der
> Grafikkarte zugreifen will,

Ist ja nicht so, dass da irgendwas falsch gezeichnet würde, sondern sie 
behaupten beim Start des PCB-Moduls (nur der braucht das überhaupt, aber 
das ist bei anderen PCB-Programmen wie Kicad oder Horizon nicht anders), 
dass sie nicht das nötige DirectX 10 hätten.

Nop schrieb:
> Dann scheint Dein Google-Fu noch im Wochenend-Modus zu sein. Gib mal die
> Stichworte 'altium designer system requirements' bei Google ein.

Ist aber K*cke, dass man das nur mit Google findet. Ich war über deren 
Webseite reingegangen und hatte es dort versucht zu finden.

> Ich
> sehe da nichts von "Windows in einer VM unter Linux".

Ich sehe auch nichts, was das explizit ausschließen würde. Alle dort 
aufgeführten Anforderungen werden von der VM erfüllt – selbst die aus 
den "Recommended", wenn man davon absieht, dass ich keine 3D-Maus habe 
(brauch' ich aber auch nicht, den 3D-View benutze ich nur, um mir das 
Resultat nochmal anzusehen, das geht auch mit einer herkömmlichen Maus 
gut genug).

Da man ihnen für eine doofe Demo-Version hinterher rennen muss, weil man 
ja schließlich vor Jahren schon einmal eine Demo bekommen hatte, kann 
ich jetzt auch nicht einfach ausprobieren, wie es sich in anderen 
Umgebungen verhalten würde (anderes Windows in gleicher VMware, oder 
andere VM – selbst in der VirtualBox sagt dxdiag, dass sie DirectX 11 
hat).

von Karl K. (karl2go)


Lesenswert?

Jörg W. schrieb:
> sondern sie
> behaupten beim Start des PCB-Moduls...
> dass sie nicht das nötige DirectX 10 hätten.

Ja, ging mir bei dem Spiel genauso: Systemanforderungen ausreichend, 
Downloader lädt problemlos runter, beim Start dann "DX Version wird 
nicht unterstützt". Irgendwo findet man dann, dass irgendwelche DX 
Features auf der Grafikkarte gefordert werden, die Windows halt auch 
nicht simulieren kann.

Ich behaupte jetzt nicht, dass das bei AD so ist, klingt aber ziemlich 
ähnlich.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Karl K. schrieb:
> Ich behaupte jetzt nicht, dass das bei AD so ist, klingt aber ziemlich
> ähnlich.

Kann sein. Wie gesagt, Gegentest kann ich nicht machen. Demoversion ist 
schon lange abgelaufen, ich bettele nicht nach einer weiteren.

Wenn das so speziell sein sollte, dann stehen die Chancen gut, dass es 
auch irgendwelche Grafikmodule ("Grafikkarte" trifft es ja oft genug 
nicht mehr) in freier Wildbahn gibt, die dann das entsprechende Feature 
auch nicht unterstützen. Dann wiederum würde es in die 
Systemanforderungen hin gehören.

von Zeno (Gast)


Lesenswert?

Jörg W. schrieb:
> Ist ja nicht so, dass da irgendwas falsch gezeichnet würde, sondern sie
> behaupten beim Start des PCB-Moduls (nur der braucht das überhaupt, aber
> das ist bei anderen PCB-Programmen wie Kicad oder Horizon nicht anders),
> dass sie nicht das nötige DirectX 10 hätten.

Hallo Jörg,

ich sehe das wie Karl, die Software will einfach eine passende Hardware 
haben und die findet sie in der virtuellen Umgebung nicht. Die 
Fehlermeldung muß ja nicht die wahre Fehlerursache aufzeigen. Ich kann 
mir durchaus vorstellen, das bei Grafikfehlern halt ne Fehlermeldung 
ausgegeben wird die ein falsches DirektX suggeriert.
Wir hatten mal ne Messsoftware für DOS gehabt, die wollte auch reale 
Hardware haben. Dort waren viele Zugriffe auf den Coprozessor und die 
Grafikkarte in Assembler programmiert mit direkten Zugriffen auf die 
Hardware. Deshalb lief diese Software auch nur auf echter Hardware. 
Selbst unter WinNT lief die Software nicht, da dieses System direkte 
Hardwarezugriffe nicht erlaubt.

von mh (Gast)


Lesenswert?

Zeno schrieb:
> ich sehe das wie Karl, die Software will einfach eine passende Hardware
> haben und die findet sie in der virtuellen Umgebung nicht.

Dann sollte die Software aber auch angeben, was sie genau an Hardware 
braucht.

Beitrag #6002586 wurde von einem Moderator gelöscht.
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

mh schrieb:
> Zeno schrieb:
>> ich sehe das wie Karl, die Software will einfach eine passende Hardware
>> haben und die findet sie in der virtuellen Umgebung nicht.
>
> Dann sollte die Software aber auch angeben, was sie genau an Hardware
> braucht.

Sehe ich auch so. Zumindest sollte es der Vertriebler, der einem die 
Software aufschwatzen möchte, dann mal so artikulieren, wenn man ihm die 
Fehlermeldung präsentiert.

Solange sie als Hardwarevoraussetzungen nur eine „hinreichend gute 
Grafik mit DirectX 10 oder höher“ angeben (und dann gerade mal zwei 
Beispiele nennen), dann müssen sie sich auch darauf festnageln lassen.

Mal ehrlich: so speziell ist das bisschen 3D-Zeichnerei nun im Jahr 
2019 ja auch nicht mehr, dass man als Hersteller da anfangen müsste, 
neben das dokumentierte API (nein, @W.S., DirectX ist keine 
Abstraktion, sondern ein API, wie OpenGL auch eins ist) zu greifen.

von Gegeg J. (Gast)


Lesenswert?

Fortsetzung meiner Liste der Programme die Pascal erfolgreich 
kommerziell einsetzen, mit CAO arbeite ich täglich
CAo Faktura
https://www.cao-faktura.de/

von Andreas W. (crazywolff)


Lesenswert?

Jörg W. schrieb:
> Solange sie als Hardwarevoraussetzungen nur eine „hinreichend gute
> Grafik mit DirectX 10 oder höher“ angeben (und dann gerade mal zwei
> Beispiele nennen), dann müssen sie sich auch darauf festnageln lassen.


Hi,

bei VMware ist es so dass wenn die VM eine beschleunigte Grafikkarte 
braucht (alles mit DirectX), dann muss man das in der Maschine 
entsprechend konfigurieren. Macht man das nicht, dann gibt es die vorher 
beschriebenen Fehlermeldungen, da nur eine einfach 2D-Karte virtuell 
eingebunden wird:

https://docs.vmware.com/de/VMware-vSphere/6.5/com.vmware.vsphere.vm_admin.doc/GUID-E03ED27D-E469-4115-80E1-435125D6168B.html

CU, Crazy

von Zeno (Gast)


Lesenswert?

Andreas W. schrieb:
> bei VMware ist es so dass wenn die VM eine beschleunigte Grafikkarte
> braucht (alles mit DirectX), dann muss man das in der Maschine
> entsprechend konfigurieren.

Jein. Es gibt halt Software die die Hardware direkt abfragt und wenn da 
nichts Entsprechendes zurück kommt dann ist es halt Essig. Da kannst Du 
an der VM herumkonfigurieren soviel wie Du willst, es wird einfach nicht 
funktionieren.
Glaube mir, ich schrieb ja von einer Software die das so macht, und 
viele meiner Kunden wollten dann auch das ganze über eine virtuelle 
Maschine machen. Sie sind einfach nur kläglich gescheitert. Einige 
Kunden haben da nämlich wirklich ein massives Problem, weil an der 
Software noch eine Maschine im Wert von über 100k€ dran hängt. Die 
Software läuft auch nur bis Pentium IV (ab da haben sich die 
Coprozessorinstruktionen geändert) und als OS max. Win98SE. Wenn man das 
überhaupt auf einem modern Rechner installiert bekommt, dann scheitert 
es am Prozessor.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Andreas W. schrieb:
> bei VMware ist es so dass wenn die VM eine beschleunigte Grafikkarte
> braucht (alles mit DirectX), dann muss man das in der Maschine
> entsprechend konfigurieren.

Wenn man den Closedsource-Grafiktreiber des Hosts benutzt, schalten sie 
es automatisch an. Den Opensource-Treibern trauen sie nicht aufs Blaue 
übern Weg, da muss man explizit die Verantwortung selbst übernehmen.

Aber das habe ich natürlich gemacht, ansonsten würde ja auch AD16 nicht 
damit laufen (die offiziell DirectX 9 oder höher benötigen).

von (prx) A. K. (prx)


Lesenswert?

Egon D. schrieb:
> Das würde ich nicht unterschreiben. Feldadressierung in
> Pascal ist i.d.R. langsam, weil keine mitlaufenden Pointer
> verwendet werden, sondern die Adresse jedesmal explizit
> aus dem Index berechnet wird.

Gute Compiler können längst sowas wie
  for i := 1 to 100
      ... array[i] ...
auf der Zielmaschine selber effizient umsetzen. Beispielsweise über 
einen mitlaufenden Pointer, wenn sich das lohnt. Da kann es dann auch 
sein, das "i" komplett verschwindet und nur der Pointer bleibt.

Erfolgt das nicht, ist es heutzutage eine Schwäche des Compilers, nicht 
der Sprache. Die Zeiten, in denen man das von Hand optimiert, um den 
Compiler zu entlasten, sollten lange vorbei sein.

: Bearbeitet durch User
von Egon D. (egon_d)


Lesenswert?

A. K. schrieb:

> Egon D. schrieb:
>> Das würde ich nicht unterschreiben. Feldadressierung
>> in Pascal ist i.d.R. langsam, weil keine mitlaufenden
>> Pointer verwendet werden, sondern die Adresse jedesmal
>> explizit aus dem Index berechnet wird.
>
> Gute Compiler können längst sowas wie
>   for i := 1 to 100
>       ... array[i] ...
> auf der Zielmaschine selber effizient umsetzen.
> Beispielsweise über einen mitlaufenden Pointer, wenn
> sich das lohnt. Da kann es dann auch sein, das "i"
> komplett verschwindet und nur der Pointer bleibt.

Du hast gerade einige sehr grundsätzliche Überlegungen
bestätigt, die ich mir zum Thema gemacht hatte.


> Erfolgt das nicht, ist es heutzutage eine Schwäche des
> Compilers, nicht der Sprache. Die Zeiten, in denen man
> das von Hand optimiert, um den Compiler zu entlasten,
> sollten lange vorbei sein.

Es geht weniger um Entlastung des Compilers, sondern mehr
um Klarheit im Ausdruck.

Allerdings habe ich wenig Bedürfnis, meine renitente
Außenseitermeinung hier zu diskutieren.

von Bernd K. (prof7bit)


Lesenswert?

Egon D. schrieb:
>> Erfolgt das nicht, ist es heutzutage eine Schwäche des
>> Compilers, nicht der Sprache. Die Zeiten, in denen man
>> das von Hand optimiert, um den Compiler zu entlasten,
>> sollten lange vorbei sein.
>
> Es geht weniger um Entlastung des Compilers, sondern mehr
> um Klarheit im Ausdruck.

In Deinem Post auf das Bezug genommen wurde geht es aber genau um das: 
Du hast unterstellt man wolle gerne von Hand mit Zeigern rumwurschteln 
um dem Compiler zu helfen weil es sonst angeblich Performanceprobleme 
gäbe. Und jetzt willst Du plötzlich das Gegenteil gesagt haben?

> Du hast gerade einige sehr grundsätzliche Überlegungen
> bestätigt, die ich mir zum Thema gemacht hatte.

Er hat sie widerlegt, nicht bestätigt! 180°-Wende?

: Bearbeitet durch User
von Scherzkeks (Gast)


Lesenswert?

https://www.golem.de/news/verschluesselung-gpg-muss-endlich-weg-2102-153820.html

hach ja....Pascal ist schon schön:-)
Viele neue Alternativen natürlich auch

von Scherzkeks (Gast)


Lesenswert?

https://news.ycombinator.com/item?id=22843140

auch hier sieht man das es lange noch nicht abgeschrieben ist.
NÉs unterstützt auch direkt Z80, AVR und STM32.
Der C64 Prozessor befindet sich in Vorbereitung bzw dessen Unterstützung

von Gerhard (Gast)


Lesenswert?

W.S. schrieb:
> Es wäre sehr wünschenswert, wenn es einen guten Pascal-Compiler für
> bare-metal-Anwendungen aktueller µC gäbe.

Nicht ganz das was du dir wünschst, aber immerhin bare-metal für den 
RasPi in FreePascal wenn ich das richtig interpretiere:
https://ultibo.org/faq/

Gerhard

von Scherzkeks (Gast)


Lesenswert?

Ja, gerade in dem Bereich wird überraschend wieder öfter Pascal genutzt
"Why not use a language like C, Python or PHP?
There are probably more programming languages available today than you 
could list on a single page, we decided on Free Pascal because it is 
powerful, flexible and offers the range of features needed to create 
Ultibo. If you’ve never tried Pascal give it a go, you might be 
surprised."

von Thomas (Gast)


Lesenswert?

Erklär doch mal bitte was Du mit Metaprogrammierung meinst. Vor einer 
Diskussion sollten Schlagworte klar definiert sein.

von Sheeva P. (sheevaplug)


Lesenswert?

Pandur S. schrieb:
> Wow, da geistern Zombies in der Daemmerung  herum. Und pruegeln sich mit
> Altsprachen wie C um die besten Plaetze in der Zombie Liga.

Tja... immerhin wird C immer noch aktiv für die meistverbreiteten 
Betriebssysteme genutzt, wie Windows oder Linux...

> Die moderne
> Welt will moderne Sprachen. Wie zB Python, wo ein Blank ueber sein oder
> nichtsein entscheidet. Ein Gross-Klein Tipp Fehler und eine neue
> Variable wird erzeugt, waehrend ich glaube es waere dieselbe.
> Schoene neue Debugwelt.

Entweder Du kannst coden, oder Du kannst es nicht. Nix neues insofern. 
;-)

von Sheeva P. (sheevaplug)


Lesenswert?

Tobi P. schrieb:
> C für OS und embedded, Delphi für die Anwendungsseite ist imo eine super
> Kombi. Es gibt natürlich auch noch andere, keine Frage.

Klar, kann man nehmen, aber C++ für OS und Embedded und Python für UI 
ist auch fein. ;-)

von Sheeva P. (sheevaplug)


Lesenswert?

Dr. Sommer schrieb:
> loeti2 schrieb:
>> Hust, IMHO ist das eine der größten Schwächen wo sich C++ hin entwickelt
>> hat.
>
> Wenn du Features als Schwäche siehst... viel andere
> Alleinstellungsmerkmale hat C++ nicht.

Doch, schon. Es ist extrem schnell, weit verbreitet, hervorragend 
dokumentiert und genauso ressourcensparend wie C, wenn man es will.

> Wo gibt es denn sonst "richtige" Metaprogrammierung mit statischer (!)
> Reflektion?

Naja, statische Reflektion... aber wenn Du Metaprogrammierung suchst, 
bist Du bei Python sicher an einer guten Adresse. ;-)

> test schrieb:
>> Braucht man so etwas zur normalen Anwendungsentwicklung?
>
> Man "braucht" nicht mehr als das was Brainfuck bietet. Aber hilfreich
> sind zusätzliche Hilfestellungen schon.

Was manche Fortschrittsfeinde gerne ignorieren, ist der ökonomische 
Aspekt von Softwareentwicklung. Und, um ehrlich zu sein: das ist 
zumindest im kommerziellen Bereich wesentlich wichtiger als ein 
kindisches Bestehen auf Typsicherheit und maximaler Performanz. ;-)

von aultasche (Gast)


Lesenswert?

noch so ein Pascal / delphi Programm:-)




                                12V
                                 |
                                 |
                         _   |/
                   PWM -|___|--|
                               |>
                                 |
                                 |
                                .-.
                                | | 1K
                                | |
                                '-' _
                                 |-|___|--------------- 0-6V
                                 |  20k  |
                                .-.      |
                                | |      | +
                                | | 1K  ###
                                '-'     ---
                                 |       |
                      GND o------o-------'
(created by AACircuit v1.28.7 beta 10/23/16 www.tech-chat.de)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.