# Programmation Ada sur Mac ?



## burnet (6 Novembre 2003)

Bonjour,
Je viens de commencer un école d'ingénieur en informatique et actuellement on fait de la programmation en Ada avec l'appli. Jgrasp. sous windows.

Vu que l'application Jgrasp existe aussi sur mac os x j'aimerais pouvoir travailler avec mais je suis incapable de compiler en Ada. Où trouver le compilateur qu'il me demande (gnatmake je crois) et si il est possible de faire du portage ??

Merci à tous.


----------



## Luc G (6 Novembre 2003)

Tu peux déjà essayer de regarder à partir de  là.


----------



## melaure (6 Novembre 2003)

Jusque là je n'en ai pas vu. J'a aussi eu le malheur de faire 3 ans d'ADA pendant mes études. Bon courage


----------



## Luc G (6 Novembre 2003)

melaure a dit:
			
		

> Jusque là je n'en ai pas vu. J'a aussi eu le malheur de faire 3 ans d'ADA pendant mes études. Bon courage



Qu'as-tu contre Ada, Melaure ?

Je ne l'ai pas pratiqué (faute de compilo disponible là où j'aurais pu m'en servir) mais dans l'esprit, ce langage me convenait tout à fait.


----------



## melaure (6 Novembre 2003)

Luc G a dit:
			
		

> Qu'as-tu contre Ada, Melaure ?
> 
> Je ne l'ai pas pratiqué (faute de compilo disponible là où j'aurais pu m'en servir) mais dans l'esprit, ce langage me convenait tout à fait.



Certes mais dans mon travail de SSII, ça ne m'a servi strictement à rien alors que 3 ans de C++/Java auraient été TRES TRES utile. Mais bon quand on tombe sur des profs illuminés qui fantasment sur Ariane et qui apparement ne mettent pas les pieds dans les entreprises pour savoir ce qu'on y fait, c'est pas de chance ...


----------



## Luc G (6 Novembre 2003)

Il est clair qu'Ada n'est pas le langage le plus utilisé dans les entreprises courantes  
	

	
	
		
		

		
		
	


	




De là à penser que ça ne sert à rien d'apprendre avec un langage donné à partir du moment où on ne se sert pas de celui-ci après, j'en doute un peu.

Apprendre l'algorithmique et la programmation, ça sert même si on n'utilise pas le langage d'apprentissage après. D'ailleurs, les langages, il en arrive tous les jours (remarque, il y en a peu qui disparaissent  
	

	
	
		
		

		
		
	


	




). je fais quelques cours au CNAM en utilisant Caml, langage nettement plus ésotérique que Ada. Les élèves auront sûrement peu d'occasions de s'en servir ensuite. Mais pour aider les gens à maîtriser les notions de types et la récursivité, j'ai l'impression que c'est un meilleur outil que C. Et je pense que ce sont des concepts qui servent directement ou indirectement.

Le fait qu'une formation universitaire ne soit pas collée au marché présente certes de gros inconvénients mais aussi des avantages. De toutes façons, il faut toujours ensuite se former "sur le tas" pour s'adapter aux boîtes. (Ceci étant, les profs qui planent par rapport aux réalités, c'est sûr que c'est pas difficile à trouver  
	

	
	
		
		

		
		
	


	




)


----------



## Fulvio (6 Novembre 2003)

J'ai appris la programmation à l'IUT avec Ada. Bon, j'en ai pas mal oublié sur le sujet depuis, mais un an d'Ada avant le C, je pense que ça m'a pas mal aidé. Un langage clair et idéal pour un apprentissage "dogmatique" de l'algorithmie, ce qui n'est pas forcément le cas du C, qui demande une connaissance de certains concepts "bas niveau" pour piger le pourquoi du comment de certaines subtilités (pointeur, passage de paramètre par pointeur, pointeurs et tableaux, arithmétique des pointeurs... j'en ai chié avec les pointeurs 
	

	
	
		
		

		
		
	


	




 ). Ca n'est pas forcément indispensable pour comprendre le C, mais c'est utile, alors un langage qui fait abstraction de l'adressage des variable, des stacks et heaps et autres, voilà qui aide bien pour appliquer les cas d'école. C'est vrai que notre prof croyait un peu trop en ce langage, mais c'était un pédagogue formidable, ça compense


----------



## Luc G (6 Novembre 2003)

lupus yonderboy a dit:
			
		

> J'ai appris la programmation à l'IUT avec Ada. Bon, j'en ai pas mal oublié sur le sujet depuis, mais un an d'Ada avant le C, je pense que ça m'a pas mal aidé. Un langage clair et idéal pour un apprentissage "dogmatique" de l'algorithmie, ce qui n'est pas forcément le cas du C, qui demande une connaissance de certains concepts "bas niveau" pour piger le pourquoi du comment de certaines subtilités (pointeur, passage de paramètre par pointeur, pointeurs et tableaux, arithmétique des pointeurs... j'en ai chié avec les pointeurs
> 
> 
> 
> ...



C'est exactement ce que je pense : ada, un peu comme pascal mais avec beaucoup plus de richesse, et comme d'autres langages "rigoureux" permet de ne pas se noyer dans les bidouilles, parfois utiles et même indispensables, mais rarement formatrices en ce qui concerne les bases. Et ces bases-là, on ne les oublie plus une fois qu'on les a acquises et elles servent directement ou indirectement, partout, y compris en dehors de l'informatique.


----------



## Nicolas Seriot (7 Novembre 2003)

burnet a dit:
			
		

> Vu que l'application Jgrasp existe aussi sur mac os x j'aimerais pouvoir travailler avec mais je suis incapable de compiler en Ada. Où trouver le compilateur qu'il me demande (gnatmake je crois) et si il est possible de faire du portage ??



jGrasp est une appli Java, elle fonctionne très bien sur Mac OS X. Voir  [apple.com] et [eng.auburn.edu]. Tu peux aussi utiliser une autre appli de ton choix (Emacs a un très bon mode Ada, Vim aussi, je suis en train d'en fabriquer un pour SubEthaEdit).

Le compilateur GNAT est disponible sur [macada.org]. Il fonctionne sur Mac OS X 10.2.8, je ne sais pas si on peut l'installer tel quel sur Panther mais en tout cas il fonctionne toujours après une mise-à-jour vers Panther. Il y a une bonne mailing-list sur le site.

Un mot pour les critiques d'Ada95 : Ada95 est utilisé là où c'est nécessaire, c'est-à-dire pour les programmes critiques [seas.gwu.edu].

Ce n'est pas parce qu'on ne le rencontre pas couramment que ce n'est pas un bon langage. Il permet d'écrire proprement grâce à son typage fort, il est très lisible, il est parfaitement portable et son compilateur qui braille à la moindre erreur est un excellent outil pédagogique. S'il n'est pas plus répandu c'est surtout parce que les compilateurs Ada ont longtemps coûté très cher, du fait de la normalisation très stricte du langage. C'est aussi une question de mode. Cela ne remet pas en cause les qualités de Ada, qui permet d'adopter de bonnes habitudes de programmation, ce qui est ensuite utile quel que soit le langage.


----------



## [MGZ]Slug (12 Novembre 2003)

J'ai bien apprécié mon année d'ADA ... très simple d'accès si on a deja des bases de prog, et qui oblige a coder proprement ... ça ne fait pas de mal.

J'ai fait mon projet d'ADA avec interface graphique GTK sans le moindre problème sur mon iBook grace à XDarwin ... donc je vous assure que ca marche tres bien sur mac, meme si ça reste un peu tendu a mettre en place (quoique ca c'est bien amélioré).

@+

Guillaume


----------



## burnet (19 Novembre 2003)

Merci à tous de vos réponses.
J'ai installé maintenant gnat mais malheureusement j'ai toujours des problèmes. En effet chaque fois que j'essaie de compiler avec jgrasp ou avec le terminal tout simplement il apparait chaque fois l'erreur comme quoi il n'y a pas de compilateur Ada installé sur mon système ???

Pourquoi (tant de haine ;-)?
Merci.


----------



## Arthemus (1 Décembre 2003)

Ca m'interesse drolement ce que tu dis là !

Tu pourrais expliquer comment tu as fait ? Installer GTK sur Mac est pour moi un de mes fantsame informatique


----------



## Arthemus (2 Décembre 2003)

Es tu sur de Macada.org, car chez moi ça ne fonctionne pas ?


----------



## [MGZ]Slug (5 Décembre 2003)

Ben pour utiliser GTk avec Ada, il faut installer GTK+ grace a fink et GTKAda ... pas tres dur, mais faut tout faire via x11 ou xdarwin.

http://libre.act-europe.fr/GtkAda/main.html





allez, un p'tit screen pour te montrer que c'est pas pour rire 
	

	
	
		
		

		
		
	


	




@+

Guillaume


----------



## gregsc (6 Décembre 2003)

Je ne me suis jamais servi du terminal
ou puis je trouver la procédure pour installer GTK+ et GTKADA

Merci


----------



## gerbouille (6 Décembre 2003)

J'ai installé le compilateur gnat disponible pour Mac OS X.2 sur macada.org, bien que mon système soit sous Panther... Ca fonctionne très bien mais il faut vérifier que la bonne version de gcc est utilisée : 3.1 - Pour cela, utiliser l'outil gcc_select en ligne de commande 

```
sudo gcc_select 3
```
Remarquez que la version par défaut est 3.3 sous Panther...

Pour installer les bindings GTK, il faut d'abord installer les bibliothèques GTK avec Fink 
	
	



```
fink install gtk+
```
puis les bibliothèques GtkAda disponibles sur macada.org. 

Germain


----------



## NItro1018 (28 Juin 2009)

Voilà mon erreur, quelqu'un sait d'où ça vient? 

 ----   error number 2.
 ----   
 ----   Target does not exist or is not on PATH.
 ----   
 ----   PATH is ":/usr/bin:/bin:/usr/sbin:/sbin".


----------



## tatouille (1 Juillet 2009)

NItro1018 a dit:


> Voilà mon erreur, quelqu'un sait d'où ça vient?
> 
> ----   error number 2.
> ----
> ...



de tes paths et/ou de la presence du cli :sleep:


----------



## Beben45 (12 Septembre 2009)

Bonjour à tous et à toutes, 
je viens de mettre à jour mon joli mac avec SNOW LEOPARD 
Je me permets de réutiliser ce topic pour parler de mes problèmes d'Ada sur Mac OS X .

J'ai pu trouver grâce à http://pagesperso-orange.fr/Blady/liens.html un liens vers le répertoire publique d'un chercheur (Drew Reynolds) qui permet de télécharger l'archive nommé fsf-i686-ada-4.3-20090309-10.6-most-langs.tgz

Le problème est le suivant, quand j'étais sous Léopard, je téléchargeais la version 64bits qui tournée avec GCC 4.2. Seulement, maintenant que je suis sous snow léopard la seule version dispo est la version i686 de gnat4.3 qui utilise GCC 4.3 seulement, je n'ai pas GCC 4.3 et je ne l'ai pas trouvé chez apple.

Que me conseillez-vous pour programmer en ada sous mac os?


----------



## Beben45 (13 Septembre 2009)

alors j'ai essayé les choses suivantes : 
tout d'abord installer gcc43 à l'aide de macports mais j'ai obtenu la chose suivante :

```
port info gcc43
gcc43 @4.3.4 (lang)
Variants:             darwin_7, darwin_8_i386, powerpc

Description:          The GNU compiler collection, including front ends for C,
                      C++, Objective-C, Objective-C++, Java and Fortran95.
Homepage:             http://gcc.gnu.org/

Library Dependencies: gmp, mpfr, libiconv
Platforms:            darwin
License:              GPLv3
Maintainers:          mww@macports.org
```


```
sudo port install gcc43
--->  Computing dependencies for gcc43
--->  Fetching gcc43
--->  Attempting to fetch gcc-core-4.3.4.tar.bz2 from ftp://ftp.lip6.fr/pub/gnu//gcc/gcc-4.3.4
--->  Attempting to fetch gcc-fortran-4.3.4.tar.bz2 from ftp://ftp.lip6.fr/pub/gnu//gcc/gcc-4.3.4
--->  Attempting to fetch gcc-g++-4.3.4.tar.bz2 from ftp://ftp.lip6.fr/pub/gnu//gcc/gcc-4.3.4
--->  Attempting to fetch gcc-java-4.3.4.tar.bz2 from ftp://ftp.lip6.fr/pub/gnu//gcc/gcc-4.3.4
--->  Attempting to fetch gcc-objc-4.3.4.tar.bz2 from ftp://ftp.lip6.fr/pub/gnu//gcc/gcc-4.3.4
--->  Verifying checksum(s) for gcc43
--->  Extracting gcc43
--->  Configuring gcc43
--->  Building gcc43
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_gcc43/work/build" && /usr/bin/make -j2 all " returned error 2
Command output:       _mpfr_sqrt$non_lazy_ptr in libbackend.a(builtins.o)
  "_mpfr_dim", referenced from:
      _mpfr_dim$non_lazy_ptr in libbackend.a(builtins.o)
  "_mpfr_cos", referenced from:
      _mpfr_cos$non_lazy_ptr in libbackend.a(builtins.o)
  "_mpfr_fma", referenced from:
      _fold_builtin_n in libbackend.a(builtins.o)
  "_mpfr_erf", referenced from:
      _mpfr_erf$non_lazy_ptr in libbackend.a(builtins.o)
  "_mpfr_exp", referenced from:
      _mpfr_exp$non_lazy_ptr in libbackend.a(builtins.o)
  "_mpfr_max", referenced from:
      _mpfr_max$non_lazy_ptr in libbackend.a(builtins.o)
  "_mpfr_log", referenced from:
      _mpfr_log$non_lazy_ptr in libbackend.a(builtins.o)
  "_mpfr_min", referenced from:
      _mpfr_min$non_lazy_ptr in libbackend.a(builtins.o)
  "_mpfr_pow", referenced from:
      _mpfr_pow$non_lazy_ptr in libbackend.a(builtins.o)
  "_mpfr_tan", referenced from:
      _mpfr_tan$non_lazy_ptr in libbackend.a(builtins.o)
  "_mpfr_sin", referenced from:
      _mpfr_sin$non_lazy_ptr in libbackend.a(builtins.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[3]: *** [cc1-dummy] Error 1
rm gfortran.pod
make[2]: *** [all-stage2-gcc] Error 2
make[1]: *** [stage2-bubble] Error 2
make: *** [all] Error 2

Error: Status 1 encountered during processing.
```

j'ai fini par faire un sudo port clean --all gcc43    


j'ai tenté un truc un peu plus fûté à savoir faire l'installation de gnat-gcc
mais encore une fois j'ai rencontré des erreurs qui m'ont indiqué de rechercher les variants de gnat-gcc

pour le moment, je suis au point mort le plus total 
l'ada c'est caca, mais c'est pas une raison quand même


----------

