mikrocontroller.net

Forum: PC-Programmierung Programm welches Programmier Befehle vorschlägt?


Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß nicht, ob andere das Problem auch haben, aber ich vergesse 
manchmal den Anfang von nicht oft benutzten Befehlen beim Programmieren.

Ich wollte deshalb fragen, ob jemand eine Art Hilfsprogramm kennt das 
einem durch Kategorieauswahl Befehle auflistet?

Beispielsweise ist in javascript Math.round() etwas was ich selten 
benutze, und wo ich dann meistens mit kleinem m anfange (wenn ich den 
Anfang überhaupt weiß), und dann gibt mir die IDE (Netbeans) keine 
Vorschläge aus (klar, es fängt ja auch mit großem M an).

Also googeln, Kopf -> Tisch, und weitermachen.


Ich kann mir auch cheatsheets ausdrucken, aber beim Laptop arbeiten ist 
das meist etwas umständlich.

Oder kann mir jemand verraten, wie Profi-Programmierer das machen?

Autor: Do (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Visual Studio macht das. Allgemein nennt sich das 
Syntax-Vervollständigung oder Code Completion.

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, netbeans macht das auch. Man muss halt den richtigen Anfang finden 
oder sich überhaupt erstmal an den Anfang eines Wortes erinnern.

Keine Ahnung warum mir das so schwer fällt, kann mir aber auch Namen 
extrem schlecht merken.

Wenn ich mal den Anfang hab, geht es, aber genau das macht glaub ich 
keine IDE, dass sie eine kategorische Auswahl ermöglicht.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kann ja dann mit eigenen Methoden, Klassen usw auch ausarten bzw 
unmöglich werden eine Kategorie zu finden.
Wir nutzen den Resharper das geht schon richtig gut. Aber selbst da 
sollte man schon in etwa wissen was man will...

Autor: c-hater (Gast)
Datum:

Bewertung
4 lesenswert
nicht lesenswert
Bernd schrieb:

> Keine Ahnung warum mir das so schwer fällt, kann mir aber auch Namen
> extrem schlecht merken.

Hattu Kopf wie Sieb, muttu aufschreiben!

Autor: Jim M. (turboj)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd schrieb:
> und dann gibt mir die IDE (Netbeans) keine
> Vorschläge aus (klar, es fängt ja auch mit großem M an).

Sollte man unter "Code Completion" einstellen können.

Da ist irgendwo auch ein Haken für "Groß- und Kleinschreibung".

Autor: georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd schrieb:
> Wenn ich mal den Anfang hab, geht es, aber genau das macht glaub ich
> keine IDE, dass sie eine kategorische Auswahl ermöglicht.

Aber ja doch: bei Borland z.B. gibt es in der Hilfe eine "Wurzel" mit 
"Prozeduren und Funktionen" oder so ähnlich, da findet man dann 
Druckfunktionen, Bildschirmfunktionen, Threadverwaltung usw. usw. und 
von da hangelt man sich durch bis zu dem was man gerade braucht, wie 
z.B. Senden über Comport.

Georg

Autor: georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd schrieb:
> Beispielsweise ist in javascript Math.round() etwas was ich selten
> benutze, und wo ich dann meistens mit kleinem m anfange (wenn ich den
> Anfang überhaupt weiß)

Da rufe ich eben die Hilfe-Seite für die Math-Library auf, das steht 
i.A. auf der ersten Seite eine Linkliste mit den wichtigsten Kategorien 
wie Trigonometrie, da findet sich Sinus, Cosinus usw. wo ist denn da das 
Problem?

Georg

Autor: Entwiggler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Suchmaschinen, Foren und Doku-Seiten zu verwendeten libs gehört zum 
Programmieralltag.

Dein einziges Problem an der Stelle ist wohl, dass du selbst damit 
unzufrieden bist.

Autor: A. S. (achs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd schrieb:
> Oder kann mir jemand verraten, wie Profi-Programmierer das machen?

2 oder mehr Bildschirme (ggf virtuell) und eine Suchmaschine, z.b. 
Google.

Autor: Profiprogrammierer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd schrieb:
> Oder kann mir jemand verraten, wie Profi-Programmierer das machen?

Naja, die wissen das halt. Die Methoden der Standard-Klassenbibliothek 
muss man halt kennen. Wie soll man sonst auch programmieren anstatt 
probieren?

Autor: Thomas M. (thomasmopunkt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Visual Studio, Delphi, Lazarus Pascal können das perfekt

Autor: Thomas M. (thomasmopunkt)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
sebst wenn Du gar nich eingibst, zeigt er Dir schon eine Reihe von 
Möglichkeiten bei Lazarus, einfach STRG + Leertaste drücken

Autor: Oliver S. (oliverso)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas M. schrieb:
> Visual Studio, Delphi, Lazarus Pascal können das perfekt

Keine IDE kann das, was der TO will: Etwas vorschlagen, von dem er gar 
nicht weiß, wie es heißt.

Oliver

Autor: test (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Abgesehen davon, wenn man etwas benutzt was man gar nicht kennt sollte 
man eh die Beschreibung lesen (Abhängigkeiten, Einschränkungen, 
Verhalten im Fehlerfall usw.).
Einfach blind irgendwas nutzen was sich vom Nen her irgendwie richtig 
anhört ist nicht schön.

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver S. schrieb:
> Thomas M. schrieb:
>> Visual Studio, Delphi, Lazarus Pascal können das perfekt
>
> Keine IDE kann das, was der TO will: Etwas vorschlagen, von dem er gar
> nicht weiß, wie es heißt.
>
> Oliver

Aber zumindest VSCode kann etwas vorschlagen von dem man nur so ungefähr 
weiß wie es heißt. Das ist extrem praktisch.

Matthias

Autor: Yalu X. (yalu) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver S. schrieb:
> Keine IDE kann das, was der TO will: Etwas vorschlagen, von dem er gar
> nicht weiß, wie es heißt.

Doch, gibt es, nur nicht für jede Programmiersprache.

So gibt es bspw. für Haskell das Tool Hoogle, das Funktionen nicht nur
anhand ihres Namens (oder Teilen davon), sondern auch anhand ihres Typs
(Signatur) sucht.

Der Typ einer Funktion besteht dabei aus den Argumenttypen (entweder
konkret oder als Typvariable), dem Ergebnistyp und optional einem
Kontext als Nebenbedingung für die verwendeten Typvariablen.

Das Tool sucht in über 2300 Bibliotheken mit insgesamt zigtausenden
Funktionen. Dabei werden auch Funktionen gefunden, deren Typ etwas von
der Vorgabe abweicht (bspw. andere Reihenfolge der Argumente, leichte
Abweichungen der Argumenttypen oder des Ergebnistyps, fehlender Kontext
usw.). Man kann es online oder lokal benutzen, außerdem gibt es Plugins
für IDEs (bspw. Eclipse) oder Texteditoren (bspw. Emacs oder Vim).

Da in Funktionalsprachen wie Haskell der Typ einer Funktion recht viel
über deren Zweck aussagt, funktioniert diese Suche trotz des riesigen
Suchraums erstaunlich gut.

Beispiele:

Ich suche die logische Nicht-Funktion. Das einzige Argument und das
Ergebnis sind beide vom Typ Bool. Die Funktion ist also vom Typ

  Bool -> Bool

Die ersten beiden Treffer sind not und das dazu synonyme ¬.

Oder ich suche die Funktion, die die Länge einer Liste liefert. Da die
Länge für Listen mit beliebigem Elementtyp definiert ist, lasse ich
diesen variabel und benutze dafür einen Variablennamen, bspw. a. Der
Ergebnistyp ist logischerweise ein Integer-Wert:

  [a] -> Int

Hoogles erster Treffer ist length.

Etwas komplizierter: Ich suche eine Funktion, die diejenigen Elemente
einer Liste zählt, die eine gegebene Bedingung erfüllen. Die Liste ist
dabei wieder vom Typ [a], die Bedingung ist eine Funktion vom Typ
a->Bool:

  [a] -> (a -> Bool) -> Int

Die ersten beiden Treffer sind findIndexJust und count, die aber vom
Typ (a->Bool)->[a]->Int sind, d.h. ich muss die beiden Argumente
vertauschen. Der Name count legt nahe, dass von den beiden Treffern
dieses die gesuchte Funktion ist.

Wenn ich eine Sortierfunktion mit

  [a] -> [a]

suche, werden erst einmal jede Menge exakter Treffer angezeigt, aber
nicht das, wonach ich suche. Das liegt daran, dass die Sortierfunktion
nicht auf beliebige Listen anwendbar ist, sondern nur auf solche, für
deren Elemente Ordnungsrelationen (<, > usw.) definiert sind, d.h. a
muss der Typklasse Ord angehören. Eine erneute Suche mit einem
zusätzlichen Kontext

  Ord a => [a] -> [a]

liefert die gesuchte Funktion sort.


Hier ist die Online-Version des Tools, falls jemand damit herumspielen
möchte:

  https://hoogle.haskell.org/

Autor: Oliver S. (oliverso)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na ja, Haskell...

Wobei, die Syntax für die Suxhe kennt der TO ja schonmal ;)

Bernd schrieb:
> Kopf -> Tisch

Oliver

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.